“ValueError: 除了连接轴外,所有输入数组的维度必须完全匹配
当我尝试追加values.PFB
时,我得到了这个错误。代码中的x
是一个大小为[16754,3]的数据集,而a
是一个全为1的数组,大小为[16754,1]。据我所知,轴是完全匹配的。
# 导入库import numpy as npimport matplotlib.pyplot as pltimport pandas as pd# 导入数据集dataset = pd.read_csv('data_monthly_rainfall.csv')x = dataset.iloc[:, [0,1,2]].valuesy = dataset.iloc[:, 3].values# 追加一个值为1的列y,用于方程import statsmodels.api as sma = np.ones((16754, 0)).astype(int)x = np.append(arr = a,values = x, axis = 1)
谁能告诉我我在这里做错了什么?我对Python和机器学习还很新手,处于学习阶段。如果需要更多信息,请告诉我。
回答:
问题在于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)