pandas.DataFrame.corr#

DataFrame.corr(метод='pearson', min_periods=1, numeric_only=False)[источник]#

Вычисляет попарную корреляцию столбцов, исключая значения NA/null.

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

Метод корреляции:

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

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

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

  • вызываемый объект: вызываемый объект с входными двумя одномерными массивами ndarray

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

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

Минимальное количество наблюдений, требуемое для каждой пары столбцов для получения валидного результата. В настоящее время доступно только для корреляции Пирсона и Спирмена.

numeric_onlybool, по умолчанию False

Включите только float, int или логический data.

Добавлено в версии 1.5.0.

Изменено в версии 2.0.0: Значение по умолчанию для numeric_only теперь False.

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

Корреляционная матрица.

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

DataFrame.corrwith

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

Series.corr

Вычислить корреляцию между двумя Series.

Примечания

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

Примеры

>>> 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