我有以下形状的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上使用numpy's atleast_2d()
method以确保数组至少为二维,即
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
(46020,369)(46020,)(46020,)
然后,您可以使用
np.vstack
连接数组。# concatenate
X_new = np.vstack(np.atleast_2d(X.T,pred1,pred2)).T
print X_new.shape
(46020,371)