dask.dataframe.groupby.DataFrameGroupBy.corr

dask.dataframe.groupby.DataFrameGroupBy.corr

DataFrameGroupBy.corr(ddof=1, split_every=None, split_out=1, numeric_only=_NoDefault.no_default)

计算列之间的成对相关性,排除NA/null值。

此文档字符串是从 pandas.core.frame.DataFrame.corr 复制而来的。

Dask 版本可能存在一些不一致性。

分组相关性:corr(X, Y) = cov(X, Y) / (std_x * std_y)

参数
方法{‘pearson’, ‘kendall’, ‘spearman’} 或可调用对象 (Dask 中不支持)

相关方法:

  • pearson : 标准相关系数

  • kendall : Kendall Tau 相关系数

  • spearman : 斯皮尔曼等级相关

  • callable: 带有两个一维 ndarray 输入的可调用对象

    并返回一个浮点数。注意,从 corr 返回的矩阵将对角线上为 1,并且无论可调用对象的行为如何,都将是对称的。

min_periodsint, 可选 (Dask 不支持)

每对列所需的最小观测数以获得有效结果。目前仅适用于皮尔逊和斯皮尔曼相关性。

仅数值bool, 默认 False

只包含 floatintboolean 数据。

1.5.0 新版功能.

在 2.0.0 版更改: numeric_only 的默认值现在是 False

返回
DataFrame

相关矩阵。

参见

DataFrame.corrwith

计算与另一个 DataFrame 或 Series 的成对相关性。

Series.corr

计算两个序列之间的相关性。

注释

皮尔逊、肯德尔和斯皮尔曼相关性目前使用成对完整观测值计算。

示例

>>> def histogram_intersection(a, b):  
...     v = np.minimum(a, b).sum().round(decimals=1)
...     return v
>>> df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],  
...                   columns=['dogs', 'cats'])
>>> df.corr(method=histogram_intersection)  
      dogs  cats
dogs   1.0   0.3
cats   0.3   1.0
>>> df = pd.DataFrame([(1, 1), (2, np.nan), (np.nan, 3), (4, 4)],  
...                   columns=['dogs', 'cats'])
>>> df.corr(min_periods=3)  
      dogs  cats
dogs   1.0   NaN
cats   NaN   1.0