繁体   English   中英

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

[英]Is there a way to concatenate two numpy arrays with different dimensions?

我正在使用深度学习模型,该模型试图将带有尺寸(1,2)的标签与一个numpy数组(25,25)连接起来。 我不确定是否有可能得到(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)尺寸?

@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]])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM