有没有办法连接两个具有不同维数的numpy数组?

时间:2019-04-21 05:04:03

标签: python numpy

我正在使用深度学习模型,该模型试图将尺寸为(1,2)的标签与(25,25)的numpy数组连接在一起。我不确定是否可以得到(627,0)的尺寸,但是,模型摘要指出这是它期望的输入形状。

我尝试将它们串联,但是出现错误“除串联轴外,所有输入数组维必须完全匹配”。

    x = np.concatenate((X[1], to_categorical(Y_train[1]))   

其中X =(25,25)并且Y_train为(1,0),使to_categorical(Y_train [1])等于(2,1)。

有没有办法用这些尺寸来获得这个(627,0)尺寸?

1 个答案:

答案 0 :(得分:0)

@Psidom对此有很好的答案:

假设您有一个1维数组和一个2维数组

您可以使用numpy.column_stack

np.column_stack((array_1, array_2))

将1-d数组隐式转换为2-d,因此等效于np.concatenate((array_1, array_2[:,None]), axis=1)


a = np.arange(6).reshape(2,3)
b = np.arange(2)

a
#array([[0, 1, 2],
#       [3, 4, 5]])

b
#array([0, 1])

np.column_stack((a, b))
#array([[0, 1, 2, 0],
#       [3, 4, 5, 1]])