我有两个变量来自不同的函数,第一个a
是:
<class 'numpy.ndarray'>
(100,)
而另一个b
是:
如果我试图通过以下方式关联它们:
from scipy.stats import pearsonr
p, r= pearsonr(a, b)
我得到:
r = max(min(r, 1.0), -1.0)
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我的问题是:
您需要在第一个数组上调用resheme函数
.reshape((100,1))
resheme将更改np数组的“shape”属性,这将使1D数组[1,2,3,…,100]变成2D数组[[1],[2],[3],…[100]](100,1)是长度为1的2d数组,如=
[[1],[2],[3],[4]]
,第二个是1d数组[1, 2, 3, 4 ]
第一个问题的答案:
a
是一个向量,b
是一个矩阵。有关更多详细信息,请查看此stackoverflow链接:Difference between numpy.array shape (R, 1) and (R,)第二个问题的答案:
我认为把一种形式转换成另一种形式应该很好。对于您提供的函数,我想它需要向量,因此只需使用
b = b.reshape(-1)
重塑b,它将其转换为单个维度(向量)。请参考以下示例:相关问题 更多 >
编程相关推荐