如何计算 pandas 中两列之间的相关性


您可以使用以下语法来计算 pandas DataFrame 中两列之间的相关性:

 df[' column1 ']. corr (df[' column2 '])

以下示例展示了如何在实践中使用此语法。

示例 1:计算两列之间的相关性

以下代码显示了如何计算 pandas DataFrame 中列之间的相关性:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view first five rows of DataFrame
df. head ()

        points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

#calculate correlation between points and assists
df[' points ']. corr (df[' assists '])

-0.359384

相关系数为-0.359 。由于这种相关性是负相关的,这告诉我们得分和助攻是负相关的。

换句话说,随着得分栏中的值增加,助攻栏中的值往往会减少。

示例 2:计算相关显着性

要确定相关系数是否具有统计显着性,您可以使用SciPy库中的pearsonr(x, y)函数。

下面的代码展示了如何在实际中使用这个函数:

 import pandas as pd
from scipy. stats import pearsonr

#createDataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#calculate p-value of correlation coefficient between points and assists
pearsonr(df[' points '], df[' assists '])

(-0.359384, 0.38192)

输出的第一个值显示相关系数 (-0.359384),第二个值显示与该相关系数关联的 p 值 (0.38192)。

由于p 值不小于 α = 0.05,我们可以得出结论,得分和助攻之间的相关性在统计上不显着。

其他资源

如何在 Python 中计算斯皮尔曼等级相关性
如何在Python中计算偏相关
如何用 Python 计算互相关

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注