РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
62 of 687 menu

Метод corr

Метод corr применяется к DataFrame и вычисляет попарные коэффициенты корреляции для всех числовых столбцов. По умолчанию используется метод корреляции Пирсона. Метод возвращает новую таблицу, где на пересечении строки и столбца стоит коэффициент корреляции между соответствующими переменными.

Синтаксис

df.corr(method='pearson', min_periods=1, numeric_only=True)

Параметры метода:

  • method - метод вычисления корреляции: 'pearson' (по умолчанию), 'kendall' или 'spearman'
  • min_periods - минимальное количество наблюдений для вычисления корреляции
  • numeric_only - вычислять корреляцию только для числовых столбцов

Пример

Давайте создадим таблицу с двумя числовыми столбцами и вычислим корреляцию по умолчанию:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [10, 20, 30, 40, 50] }) res = df.corr() print(res)

Результат выполнения кода:

a b a 1.0 1.0 b 1.0 1.0

Корреляция равна 1.0, так как столбцы имеют линейную зависимость.

Пример

Теперь создадим таблицу с более сложной зависимостью между столбцами:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [5, 4, 3, 2, 1], 'c': [1, 3, 2, 5, 4] }) res = df.corr() print(res)

Результат выполнения кода:

a b c a 1.0 -1.0 0.2 b -1.0 1.0 -0.2 c 0.2 -0.2 1.0

Корреляция между a и b равна -1.0, так как они имеют обратную зависимость. Между a и c - слабая положительная корреляция.

Пример

Используем метод корреляции Спирмена для нелинейных зависимостей:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [1, 4, 9, 16, 25] }) res = df.corr(method='spearman') print(res)

Результат выполнения кода:

a b a 1.0 1.0 b 1.0 1.0

Корреляция Спирмена равна 1.0, так как зависимость является монотонной.

Пример

Вычислим корреляцию только между двумя выбранными столбцами:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4, 5], 'b': [5, 4, 3, 2, 1], 'c': [1, 3, 2, 5, 4] }) res = df[['a', 'c']].corr() print(res)

Результат выполнения кода:

a c a 1.0 0.2 c 0.2 1.0

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

  • метод cov,
    который вычисляет ковариацию между столбцами
  • метод describe,
    который считает описательную статистику
  • метод count,
    который подсчитывает количество значений
  • метод mean,
    который вычисляет среднее значение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить