看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注: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 相关系数 相关性