1、DataFrame.corr()
corr()
仅计算数值型列,会自动忽略字符串等非数值列,默认使用 皮尔逊相关系数(Pearson)。
import pandas as pd # 构造示例数据 data = { 'Duration': [60, 60, 45, 45, 60, 60, 60, 30, 30, 60], 'Calories': [405, 390, 290, 250, 500, 480, 450, 240, 250, 480], 'Maxpulse': [110, 117, 109, 102, 150, 140, 130, 100, 105, 145], 'Pulse': [100, 103, 100, 98, 130, 128, 125, 90, 95, 135], 'Steps': [3000, 3200, 2600, 2400, 4000, 3800, 3700, 2000, 2100, 3900] } # 创建 DataFrame df = pd.DataFrame(data) correlation_matrix = df.corr() print(correlation_matrix)
2、相关性结果说明
corr()
方法返回的是一个对称矩阵,每个单元格表示两个数值列之间的相关系数,取值范围在 -1 到 1 之间。
相关系数范围 | 说明 |
---|---|
1.0 | 完全正相关,两列完全一致变动 |
0.9 ~ 1.0 | 强正相关,一列增加, 另一列也显著增加 |
0.6 ~ 0.9 | 中等正相关,有明显趋势关联 |
0.2 ~ 0.6 | 弱相关或可忽略 |
-0.6 ~ -1.0 | 负相关,值越低,反向趋势越强 |
0 或接近 0 | 无明显线性关系 |
Pandas 的 corr()
方法是数据探索阶段的重要工具,能快速揭示列与列之间的相关性程度。通过分析相关系数矩阵,开发者可以提前感知哪些特征具备预测性或冗余性,指导后续建模和特征选择等操作。
如需配合可视化展示相关性热力图,可使用 seaborn
的 heatmap
工具增强可读性。