看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas 的 corrwith() 方法用于计算一个 DataFrame 与另一个 Series 或 DataFrame 中的列之间的相关系数。这个方法可以用来比较两个数据集或不同列之间的相关性。
DataFrame.corrwith(other, axis=0, drop=False,
method='pearson', numeric_only=False)
other: 必选。另一个 Series、DataFrame 或 Panel,用于计算相关系数。axis: 可选。默认值为 0,表示按列进行计算。如果设置为 1,则按行进行计算。drop: 可选。布尔值,默认值为 False。如果为 True,则丢弃在两者之间不匹配的标签。method: 可选。计算相关系数的方法,可以是以下之一:'pearson' (默认): 皮尔逊相关系数,衡量线性关系。'kendall': 肯德尔等级相关系数,适用于等级数据,衡量排序一致性。'spearman': 斯皮尔曼等级相关系数,适用于排序数据,衡量排名之间的相关性。返回一个 Series,其中包含两个数据集之间每列的相关系数。
假设有两个包含多个变量的数据集,我们希望计算这些变量之间的相关系数。
import pandas as pd
# 创建示例数据
data1 = {
'A': [1, 2, 3, 4, 5],
'B': [2, 4, 6, 8, 10],
'C': [5, 4, 3, 2, 1]
}
data2 = {
'A': [5, 4, 3, 2, 1],
'B': [10, 8, 6, 4, 2],
'C': [1, 2, 3, 4, 5]
}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
# 计算 df1 与 df2 各列之间的相关系数
corr_with = df1.corrwith(df2)
print("各列之间的相关系数:")
print(corr_with)
输出:
各列之间的相关系数:
A -1.0
B -1.0
C -1.0
dtype: float64
在这个示例中:
df1 和 df2 的列 A 完全负相关(相关系数为 -1)。df1 和 df2 的列 B 完全负相关(相关系数为 -1)。df1 和 df2 的列 C 完全负相关(相关系数为 -1)。这些结果显示了两个数据集之间的线性关系的强度和方向。
更新时间:2024-08-08 08:09:45 标签:pandas python 相关系数 相关性