目录

Pandas - 数据相关性


寻找关系

Pandas 模块的一个重要方面是corr()方法。

这个corr()方法计算数据集中每列之间的关系。

本页中的示例使用名为“data.csv”的 CSV 文件。

下载数据.csv。或者打开数据.csv

示例

显示列之间的关系:

df.corr()
亲自试一试 »

结果


            Duration     Pulse  Maxpulse  Calories
  Duration  1.000000 -0.155408  0.009403  0.922721
  Pulse    -0.155408  1.000000  0.786535  0.025120
  Maxpulse  0.009403  0.786535  1.000000  0.203814
  Calories  0.922721  0.025120  0.203814  1.000000

笔记:这个corr()方法忽略"not numeric" 列。

结果解释

结果corr()method 是一个包含大量数字的表,表示两列之间的关系有多好。

数字从 -1 到 1 变化。

1 表示存在 1 对 1 的关系(完美相关),对于该数据集,每当第一列中的一个值上升时,另一个值也会上升。

0.9也是一个很好的关系,如果你增加一个值,另一个值可能也会增加。

-0.9 与 0.9 的关系一样好,但如果增加一个值,另一个值可能会下降。

0.2 表示关系不好,这意味着如果一个值上升并不意味着另一个值也会上升。

什么是好的相关性?这取决于用途,但我认为可以肯定地说你至少必须有0.6(或者-0.6)称之为良好的相关性。

完美相关:

我们可以看到"Duration"和"Duration"得到了号码1.000000,这是有道理的,每一列总是与自身有着完美的关系。

良好的相关性:

"Duration" 和 "Calories" 获得了0.922721相关性,这是一个非常好的相关性,我们可以预测,你锻炼的时间越长,燃烧的卡路里就越多,反之亦然:如果你燃烧了很多卡路里,那么你可能锻炼了很长时间。

不良相关性:

"Duration" 和 "Maxpulse" 获得了0.009403相关性,这是一个非常糟糕的相关性,这意味着我们不能仅通过查看锻炼的持续时间来预测最大脉冲,反之亦然。


通过练习测试一下

练习:

插入正确的语法来查找 DataFrame 中列之间的关系。

df.()

开始练习