我想使用python执行相关测试(相当于R中的corr.test(x,y)
)
我的输入是一个数据帧。如下所示:
df1:
Column1 Column2 Column3 Column4 Column5 Column6
0 ab1 bc1 6.843147 NaN 5.12 NaN
1 ab2 ab5 NaN 5.6789 6.666 54.72
2 ab3 bc4 11.45 NaN 12.765 5.12
3 ab4 ab5 328.880123 NaN 0.50 88.44
4 ab5 ab1 72.142790 55.89 NaN 18.12
如何对数据执行关联(第3列-第6列)
注意:原始数据中有50多列用于关联
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.corr.html
或者同时做任何一对列(记住每列都是一个系列)。。。与
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.corr.html
例如,根据上述数据,列5和列6之间的相关性如下所示:
或在所有列中循环(不是最优雅的,但这很有效)…
对于整个相关矩阵:
请注意对于
DataFrame.corr()
,它给出了一个相关矩阵,任何两列的交集显示的相关性与使用Series.corr()
在列之间循环时得到的相关性相同。因此DataFrame.corr()
方法在代码方面更简单,因为您不必编写自己的循环p.S.我刚刚意识到您也需要p值(不仅仅是相关系数),因为R函数
cor.test()
同时返回系数和显著性。我不知道如何处理熊猫。我翻了翻,发现this:在那页的一半处,它说,“熊猫没有计算p值的函数,所以最好使用SciPy来计算相关性,因为它会同时给出p值和相关系数”,然后展示了如何做到这一点相关问题 更多 >
编程相关推荐