【发布时间】:2011-12-20 20:12:55
【问题描述】:
我有一个值列表和一个一维 numpy 数组,我想使用 numpy.corrcoef(x,y,rowvar=0) 计算相关系数。我收到以下错误:
Traceback (most recent call last):
File "testLearner.py", line 25, in <module>
corr = np.corrcoef(valuesToCompare,queryOutput,rowvar=0)
File "/usr/local/lib/python2.6/site-packages/numpy/lib/function_base.py", line 2003, in corrcoef
c = cov(x, y, rowvar, bias, ddof)
File "/usr/local/lib/python2.6/site-packages/numpy/lib/function_base.py", line 1935, in cov
X = concatenate((X,y), axis)
ValueError: array dimensions must agree except for d_0
我打印出我的 numpy 数组的形状并得到 (400,1)。当我使用 numpy.asarray(y) 将列表转换为数组时,我得到 (400,)!
我相信这是问题所在。我做了一个array.reshape 到(400,1) 并打印出形状,我仍然得到(400,)。我错过了什么?
提前致谢。
【问题讨论】:
-
我找到了一种解决方法,方法是创建一个 numpy 数组并将元素添加到其中而不是附加到列表中,但我仍然觉得一旦转换为 numpy 数组就应该可以使用列表来执行此操作。