我尝试连接两个numpy数组以添加一个额外的列:array_1
是(569, 30)
,array_2
是(569, )
combined = np.concatenate((array_1, array_2), axis=1)
我认为如果我设置axis=2
,它将垂直连接,这将工作。末端应该是569 x 31阵列。
我得到的错误是ValueError: all the input arrays must have same number of dimensions
有人能帮忙吗
谢谢!
5条答案
按热度按时间v7pvogib1#
可以使用
numpy.column_stack
:它隐式地将一维数组转换为二维数组,因此相当于@umutto注解的
np.concatenate((array_1, array_2[:,None]), axis=1)
。v7pvogib2#
把它们竖起来
w7t8yxp53#
您可以使用reshape函数将一维数组转换为具有相同行数的二维数组,并使用numpy的append函数水平连接生成的数组。
注意:在numpy的append函数中,我们必须提到我们想要插入值的轴。如果axis=0,则垂直追加数组。如果axis=1,则水平追加数组。因此,我们可以使用轴=1,用于当前要求
例如
olqngx594#
我写了一个通用的堆栈函数。它有点复杂,但它的输入只是数组(元组)和一个轴,你希望沿着这个轴堆叠数组。例如:
vxqlmq5t5#
您可以简单地使用
numpy
的hstack
函数。例如