查找列之间的相关性

假设你有一个数值的 DataFrame,例如:

df = pd.DataFrame(np.random.randn(1000, 3), columns=['a', 'b', 'c'])

然后

>>> df.corr()
    a    b    c
a    1.000000    0.018602    0.038098
b    0.018602    1.000000    -0.014245
c    0.038098    -0.014245    1.000000

将找到列之间的 Pearson 相关性 。注意对角线是如何 1 的,因为每列(显然)与自身完全相关。

pd.DataFrame.correlation 采用可选的 method 参数,指定要使用的算法。默认为 pearson。例如,要使用 Spearman 相关,请使用

>>> df.corr(method='spearman')
    a    b    c
a    1.000000    0.007744    0.037209
b    0.007744    1.000000    -0.011823
c    0.037209    -0.011823    1.000000