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
只包含 float、int 或 boolean 数据。
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