要使用
np.concatenate,我们需要将第二个数组扩展到
2D,然后沿着
axis=1-
np.concatenate((a,b[:,None]),axis=1)
或者,我们可以使用
np.column_stack它来照顾它-
np.column_stack((a,b))
样品运行-
In [84]: aOut[84]: array([[54, 30, 55, 12], [64, 94, 50, 72], [67, 31, 56, 43], [26, 58, 35, 14], [97, 76, 84, 52]])In [85]: bOut[85]: array([56, 70, 43, 19, 16])In [86]: np.concatenate((a,b[:,None]),axis=1)Out[86]: array([[54, 30, 55, 12, 56], [64, 94, 50, 72, 70], [67, 31, 56, 43, 43], [26, 58, 35, 14, 19], [97, 76, 84, 52, 16]])
如果
b是这样,它的一个
1D阵列
dtype=object具有的形状
(1,),很可能所有的数据都包含在它的唯一元素,我们需要 压扁
在连接前出来。为此,我们也可以使用
np.concatenate它。这里是一个示例,目的是为了清楚地说明这一点-
In [118]: aOut[118]: array([[54, 30, 55, 12], [64, 94, 50, 72], [67, 31, 56, 43], [26, 58, 35, 14], [97, 76, 84, 52]])In [119]: bOut[119]: array([array([30, 41, 76, 13, 69])], dtype=object)In [120]: b.shapeOut[120]: (1,)In [121]: np.concatenate((a,np.concatenate(b)[:,None]),axis=1)Out[121]: array([[54, 30, 55, 12, 30], [64, 94, 50, 72, 41], [67, 31, 56, 43, 76], [26, 58, 35, 14, 13], [97, 76, 84, 52, 69]])



