Pandas DataFrame Corr 方法

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将学习如何使用 pandas 库中的 corr() 方法来计算 DataFrame 中各列之间的相关性。相关性是衡量两个变量之间线性关系的指标,它帮助我们理解一个变量的变化如何影响另一个变量。

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到 Notebook 标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时可以向 Labby 提问。实验结束后请提供反馈,我们将及时为你解决问题。

导入所需库

首先,我们需要导入必要的库。在本例中,我们只需要 pandas 库。

import pandas as pd

创建 DataFrame

接下来,我们创建一个 DataFrame 来进行操作。我们将创建一个简单的 DataFrame,其中包含表示人们姓名、年龄、身高和体重的列。

chart = {
    'Name':['Chetan','yashas','yuvraj'],
    'Age':  [20, 25, 30],
    'Height': [155, 160, 175],
    'Weight': [55, 60, 75]
}

df = pd.DataFrame(chart)

计算相关性

现在,我们可以使用 corr() 方法计算 DataFrame 各列之间的相关性。我们可以提供一个可选的 method 参数来指定要使用的相关性方法(pearsonkendallspearman)。如果未指定方法,则默认使用 Pearson 相关性。

让我们计算 DataFrame 各列之间的 Pearson 相关性:

pearson_corr = df.corr(method='pearson')
print("Pearson Correlation:")
print(pearson_corr)

可视化相关性

我们可以使用热图(heatmap)来可视化相关性矩阵。seaborn 库提供了一种便捷的方式来创建热图。

import seaborn as sns
import matplotlib.pyplot as plt

sns.heatmap(pearson_corr, annot=True, cmap='coolwarm')
plt.title("Pearson Correlation Heatmap")
plt.show()

使用其他方法计算相关性

我们也可以使用 Kendall 或 Spearman 方法计算相关性。为此,只需相应地指定 method 参数。让我们计算 DataFrame 的 Kendall 相关性:

kendall_corr = df.corr(method='kendall')
print("Kendall Correlation:")
print(kendall_corr)

使用其他方法可视化相关性热图

同样地,我们可以创建热图来可视化 Kendall 和 Spearman 相关性:

sns.heatmap(kendall_corr, annot=True, cmap='coolwarm')
plt.title("Kendall Correlation Heatmap")
plt.show()

使用 Spearman 相关性重复该过程

最后,让我们计算并可视化 Spearman 相关性:

spearman_corr = df.corr(method='spearman')
print("Spearman Correlation:")
print(spearman_corr)
sns.heatmap(spearman_corr, annot=True, cmap='coolwarm')
plt.title("Spearman Correlation Heatmap")
plt.show()

总结

在本实验中,我们学习了如何使用 pandas 中的 corr() 方法计算并可视化 DataFrame 列之间的相关性。我们探索了不同的相关性计算方法,包括 Pearson、Kendall 和 Spearman,并使用热图来可视化相关性矩阵。相关性分析帮助我们识别变量之间的关系,在数据分析、机器学习和金融等领域非常有用。