调用 func pearsonr 并得到 TypeError: No loop match the specified signature and cast was found for ufunc a

Posted

技术标签:

【中文标题】调用 func pearsonr 并得到 TypeError: No loop match the specified signature and cast was found for ufunc add【英文标题】:Call func pearsonr and Got TypeError: No loop matching the specified signature and casting was found for ufunc add 【发布时间】:2020-04-16 12:05:03 【问题描述】:

我运行下面的代码并收到意外错误 “TypeError:没有找到与指定签名和转换匹配的循环,用于 ufunc add” 其中 X 和 Y 都是数据帧

from scipy.stats import pearsonr
for i in range(X.shape[1]):
    Pear_corr, _ = pearsonr(Y,pd.DataFrame(X.iloc[:,i]))

我该怎么办? 提前谢谢你

【问题讨论】:

【参考方案1】:

在我的情况下,抛出错误是因为我有 Y 和 X 形状的 2d numpy 数组 (1000,1)。我将它们展平 (y_val.flatten()、y_predict.flatten()) 并且错误已修复.

【讨论】:

我在尝试将其应用于二维数组而不是一维数组时也遇到了同样的问题

以上是关于调用 func pearsonr 并得到 TypeError: No loop match the specified signature and cast was found for ufunc a的主要内容,如果未能解决你的问题,请参考以下文章

Pearsonr:TypeError:没有找到与指定签名和转换匹配的循环,用于 ufunc add

c# 使用运行时泛型类型调用委托

SciPy PearsonR ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()

缓存其参数返回值的函数

Go-函数式接口

我可以使用 str2func 调用类方法吗?