尝试在numpy数组中追加一列,获取ValueError

时间:2019-06-01 23:18:55

标签: python numpy

我正在尝试为以下数组添加列

train = np.append(train_data, train_labels, axis=1)

(60000, 784)
(60000,)

我得到了错误

ValueError: all the input arrays must have same number of dimensions

我不明白问题是什么... 我需要

的输出
(60000, 785)

2 个答案:

答案 0 :(得分:1)

我认为您应该使用axis = 0。

>>> np.append((1,2),(2,),axis=0)
array([1, 2, 2])

如果您发布的那些元组是数组形状,则可以使用

train = np.append(train_data, train_labels[:,None], axis=1)

数组的维数必须相同(在这种情况下为2)。在为不存在的维度建立索引时使用“无”会向数组中添加单例维度。

>>> train_labels[:,None].shape
(60000, 1)

答案 1 :(得分:1)

您应该运行

train = np.append(train_data, train_labels.reshape(-1, 1), axis=1)

那将解决您的问题。 欢呼声