首页 > 解决方案 > 附加数组时 Numpy 返回错误的问题

问题描述

“ValueError:除了连接轴之外的所有输入数组维度必须完全匹配”是我在尝试附加 values.PFB 代码时遇到的错误。x是一个大小为 [16754,3] 的数据集,并且a是一个大小为 [16754,1] 的数组。据我了解,轴完全匹配。

# Importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# Importing the dataset
dataset = pd.read_csv('data_monthly_rainfall.csv')
x = dataset.iloc[:, [0,1,2]].values
y = dataset.iloc[:, 3].values

# Apending a coloumn y with 1 for the equation
import statsmodels.api as sm
a = np.ones((16754, 0)).astype(int)
x = np.append(arr = a,values = x, axis = 1)

谁能告诉我这里做错了什么?在学习阶段,我对 python 和 ML 非常陌生。如果需要更多信息,请告诉我。

链接到数据集

标签: pythonnumpymachine-learningappend

解决方案


问题是形状x是 (16755, 3),而您正在创建a的形状是 (16754, 1)。不匹配发生在行上。将尺寸更改a(16755, 1)

a = np.ones((16755, 1)).astype(int)

您可以通过将行数保存在变量中来完全避免这种情况。

m = x.shape[0]
a = np.ones((m, 1)).astype(int)
x = np.append(arr = a,values = x, axis = 1)

推荐阅读