pandas.Series.corr#
- Series.corr(other, method='pearson', min_periods=None)[源代码][源代码]#
计算与 other Series 的相关性,排除缺失值。
这两个 Series 对象不需要长度相同,在应用相关函数之前会在内部对齐。
- 参数:
- 其他系列
用于计算相关性的序列。
- 方法{‘pearson’, ‘kendall’, ‘spearman’} 或可调用
用于计算相关性的方法:
pearson : 标准相关系数
kendall : Kendall Tau 相关系数
spearman : Spearman 等级相关
callable: 可调用对象,输入两个一维 ndarrays 并返回一个浮点数。
警告
请注意,从 corr 返回的矩阵将对角线上的值为 1,并且无论可调用对象的行为如何,都将是对称的。
- min_periodsint, 可选
需要的最小观测数以获得有效结果。
- 返回:
- float
与其他相关。
参见
DataFrame.corr
计算列之间的成对相关性。
DataFrame.corrwith
计算与另一个 DataFrame 或 Series 的成对相关性。
备注
Pearson、Kendall 和 Spearman 相关性目前使用成对完整观测值计算。
自动数据对齐:与所有 pandas 操作一样,此方法会自动执行数据对齐。
corr()
方法会自动考虑具有匹配索引的值。示例
>>> def histogram_intersection(a, b): ... v = np.minimum(a, b).sum().round(decimals=1) ... return v >>> s1 = pd.Series([0.2, 0.0, 0.6, 0.2]) >>> s2 = pd.Series([0.3, 0.6, 0.0, 0.1]) >>> s1.corr(s2, method=histogram_intersection) 0.3
Pandas 会自动对齐具有匹配索引的值
>>> s1 = pd.Series([1, 2, 3], index=[0, 1, 2]) >>> s2 = pd.Series([1, 2, 3], index=[2, 1, 0]) >>> s1.corr(s2) -1.0
If the input is a constant array, the correlation is not defined in this case, and
np.nan
is returned.>>> s1 = pd.Series([0.45, 0.45]) >>> s1.corr(s1) nan