0

我尝试沿列连接两个矩阵(如 matlab 中的 [a,b] )。但我不断收到错误:

ValueError: arrays must have same number of dimensions

这是我的代码:

print a.shape
print b.shape 
X= np.hstack([b,a])

这是输出:

(223129, 1)
(223129, 4)

据我了解,尺寸很好。这里出了什么问题?

4

2 回答 2

1

好的,我发现了我的错误。我的一个矩阵是一个稀疏矩阵,然后你就会得到我遇到的错误。

于 2013-11-12T08:11:48.507 回答
1

a并且b有不同数量的维度。做a.ndimb.ndim。结果应该是相等的。

如果a并且b具有您似乎指示的尺寸,那么它应该可以工作。

例如

a=np.ones((5,1))
b=np.ones((5,4))
np.hstack([b,a])
array([[ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.]])

如果我使用与ab指示的相同形状 {(223129,1) 和 (223129,4)} ,它对我有用。

于 2013-11-12T07:55:08.273 回答