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

时间:2018-03-18 16:48:27

标签: python pandas correlation

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

我尝试使用.corr()方法:

table.corr(method='pearson')

但有这个回复给我: enter image description here

我已粘贴下面的前25行布尔table。我不知道我是否缺少参数,或者如何解释这个结果。同样奇怪的是它也是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

2 个答案:

答案 0 :(得分: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,这都应该有效。

答案 1 :(得分:-1)

我的数据框由许多列组成。任何两个列之间的相关性是

**df.corr().loc['ColA','ColB']**

我们在两列都获得矩阵黑白