我试图计算数据集中一组列的点双列相关。我可以在单个变量上进行计算,但是如果我需要在一次迭代中计算所有列,那么它将显示一个错误
代码如下:
df = pd.DataFrame({'A':[1, 0, 1, 0, 1], 'B':[6, 7, 8, 9, 10],'C':[9, 4, 6,9,10],'D':[8,9,5,7,10]})
from scipy import stats
corr_list = {}
y = df['A'].astype(float)
for column in df:
x = df[['B','C','D']].astype(float)
corr = stats.pointbiserialr(x, y)
corr_list[['B','C','D']] = corr
print(corr_list)
TypeError: No loop matching the specified signature and casting was found for ufunc add
x必须是一列而不是数据帧,如果使用该列而不是数据帧,它将正常工作。您可以尝试以下方法:
顺便说一下,您可以使用
print(df.corr())
,这将为您提供数据帧的相关矩阵相关问题 更多 >
编程相关推荐