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

Correlation coefficient of two columns in pandas dataframe with .corr()

我想在将列设为布尔值后计算 pandas 数据框的两列之间的相关系数。原来的 table 有两列:一个 Group 列有两个治疗组之一,现在是布尔值,还有一个 Age 组。这些是我要计算相关系数的两列。

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

table.corr(method='pearson')

但是这个还给我了:

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

在整个 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,这都应该有效。

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

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

我们得到矩阵 b/w 两列