pyspark.pandas.Series.corr

Series. corr ( other : pyspark.pandas.series.Series , method : str = 'pearson' , min_periods : Optional [ int ] = None ) → float [source]

计算与 其他 序列的相关性,排除缺失值。

新增于版本 3.3.0。

Parameters
other Series
method {‘pearson’, ‘spearman’, ‘kendall’}
  • pearson : 标准相关系数

  • spearman : 斯皮尔曼等级相关

  • kendall : 肯德尔Tau相关系数

版本 3.4.0 更改: 支持 method 参数的 ‘kendall’

min_periods int, optional

所需的最小观测数量以获得有效结果。

新增于版本 3.4.0。

Returns
correlation float

注释

肯德尔相关性的复杂度是 O(#行数 * #行数),如果数据集太大,建议在相关性计算之前进行采样。

示例

>>> df = ps.DataFrame({'s1': [.2, .0, .6, .2],
...                    's2': [.3, .6, .0, .1]})
>>> s1 = df.s1
>>> s2 = df.s2
>>> s1.corr(s2, method='pearson')
-0.85106...
>>> s1.corr(s2, method='spearman')
-0.94868...
>>> s1.corr(s2, method='kendall')
-0.91287...
>>> s1 = ps.Series([1, np.nan, 2, 1, 1, 2, 3])
>>> s2 = ps.Series([3, 4, 1, 1, 5])
>>> with ps.option_context("compute.ops_on_diff_frames", True):
...     s1.corr(s2, method="pearson")
-0.52223...
>>> with ps.option_context("compute.ops_on_diff_frames", True):
...     s1.corr(s2, method="spearman")
-0.54433...
>>> with ps.option_context("compute.ops_on_diff_frames", True):
...     s1.corr(s2, method="kendall")
-0.51639...
>>> with ps.option_context("compute.ops_on_diff_frames", True):
...     s1.corr(s2, method="kendall", min_periods=5)
nan