开发手册 欢迎您!
软件开发者资料库

Python Pandas 数据的相关性

Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一,本文主要介绍Python Pandas 数据的相关性。

1、corr()计算列之间关系

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

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

此页面中的示例使用一个名为“data.csv”的CSV文件。

data.csv文件:https://www.wonhero.com/download/5fe1f74edc72d93b4993067c/

例如: 

显示各列之间的关系:

df.corr()

注意corr()方法将忽略“非数字”列。

结果说明

corr()方法的结果是一个包含大量数字的表,这些数字表示两列之间的关系良好。

该数字从-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,这是一个非常差的相关性,这意味着我们无法仅通过观察锻炼的持续时间来预测最大脉冲,反之亦然。