Python Numpy列_堆栈(46020369)(46020,)(46020,)(46020,)(46020,)

Python Numpy列_堆栈(46020369)(46020,)(46020,)(46020,)(46020,),python,arrays,numpy,Python,Arrays,Numpy,我有4个具有以下形状的阵列: X pred1 pred2 pred3 (46020, 369) (46020,) (46020,) (46020,) 我正试着把最后3列的内容压缩到X中。 如果我这样做,例如: array_pack = np.column_stack((X, pred1, pred2, pred3)) 这给了我一个错误: ValueError:除 连接轴必须完全匹配 我做错了什么? 形状为(46020,)的阵列是否应该类似于(46020,1

我有4个具有以下形状的阵列:

     X         pred1    pred2   pred3
(46020, 369) (46020,) (46020,) (46020,)
我正试着把最后3列的内容压缩到X中。 如果我这样做,例如:

array_pack = np.column_stack((X, pred1, pred2, pred3))
这给了我一个错误:

ValueError:除 连接轴必须完全匹配

我做错了什么? 形状为(46020,)的阵列是否应该类似于(46020,1)

您可以在pred1、pred2和pred3上使用,以确保数组至少是二维的,即

import numpy as np

X = np.random.rand(46020,369)
pred1 = np.random.rand(46020)
pred2 = np.random.rand(46020)

print X.shape,pred1.shape,pred2.shape
(46020369)(46020,)(46020,)

然后,您可以使用
np.vstack
连接数组

# concatenate
X_new = np.vstack(np.atleast_2d(X.T,pred1,pred2)).T
print X_new.shape

(46020371)

tks要获得帮助,这会引发其他错误:ValueError:无法将输入数组从形状(46020369)广播到形状(46020)抱歉,我至少错误地将参数发送到了_2d。请参阅上面的编辑版本。Tks了解所有尝试,但仍然相同。。。ValueError:除连接轴之外的所有输入数组维度都必须精确匹配TalkeAd_2d在轴=0处添加第二个轴,因此我们需要将X转置,连接,然后再次转置。Tks人我没有意识到您更改为vstack,现在它工作了!又来了