如何计算 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,我们可以得出结论,得分和助攻之间的相关性在统计上不显着。