首页 文章

pandas数据帧中两列与.corr()的相关系数

提问于
浏览
-2

我想在本质上制作一个列布尔值之后计算两个pandas数据帧之间的相关系数 . 原始 table 有两列: Group 列,其中包含两个处理组之一,现在为布尔值,另一列为 Age 组 . 这些是我想要计算相关系数的两列 .

我尝试了 .corr() 方法,其中:

table.corr(method='pearson')

但有这个回到我身边:
enter image description here

我已粘贴下面的前25行boolean table . 我没有't know if I' m缺少参数,或者如何解释这个结果 . 它也是's also strange that it' 1 . 提前致谢!

Group  Age
0      1   50
1      1   59
2      1   22
3      1   48
4      1   53
5      1   48
6      1   29
7      1   44
8      1   28
9      1   42
10     1   35
11     0   54
12     0   43
13     1   50
14     1   62
15     0   64
16     0   39
17     1   40
18     1   59
19     1   46
20     0   56
21     1   21
22     1   45
23     0   41
24     1   46
25     0   35

1 回答

  • 2

    在整个DataFrame上调用 .corr() 可以获得完整的相关矩阵:

    >>> table.corr()
            Group     Age
    Group  1.0000 -0.1533
    Age   -0.1533  1.0000
    

    您可以使用单独的系列:

    >>> table['Group'].corr(table['Age'])
    -0.15330486289034567
    

    这应该比使用完整矩阵并将其索引(使用 df.corr().iat['Group', 'Age'] )更快 . 此外,无论 Group 是bool还是int dtype,这都应该有效 .

相关问题