pandas.core.groupby.SeriesGroupBy.corr#

SeriesGroupBy.corr(other, метод='pearson', min_periods=None)[источник]#

Вычисление корреляции с other Series, исключая пропущенные значения.

Два Series объекты не обязаны быть одинаковой длины и будут выровнены внутренне перед применением функции корреляции.

Параметры:
otherSeries

Series, с которым вычисляется корреляция.

метод{‘pearson’, ‘kendall’, ‘spearman’} или вызываемый объект

Метод, используемый для вычисления корреляции:

  • pearson : Стандартный коэффициент корреляции

  • kendall : коэффициент корреляции Кендалла

  • spearman : корреляция рангов Спирмена

  • callable: Callable с входными двумя 1d ndarrays и возвращающий float.

Предупреждение

Обратите внимание, что возвращаемая матрица из corr будет иметь 1 на диагоналях и будет симметричной независимо от поведения вызываемого объекта.

min_periodsint, необязательный

Минимальное количество наблюдений, необходимое для получения валидного результата.

Возвращает:
float

Корреляция с другими.

Смотрите также

DataFrame.corr

Вычисление попарной корреляции между столбцами.

DataFrame.corrwith

Вычислить попарную корреляцию с другим DataFrame или Series.

Примечания

Корреляции Пирсона, Кендалла и Спирмена в настоящее время вычисляются с использованием попарно полных наблюдений.

Автоматическое выравнивание данных: как и во всех операциях pandas, для этого метода выполняется автоматическое выравнивание данных. corr() автоматически учитывает значения с совпадающими индексами.

Примеры

>>> def histogram_intersection(a, b):
...     v = np.minimum(a, b).sum().round(decimals=1)
...     return v
>>> s1 = pd.Series([.2, .0, .6, .2])
>>> s2 = pd.Series([.3, .6, .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