Как рассчитать корреляцию между двумя столбцами в Pandas


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

df['column1']. corr(df['column2'])

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1: расчет корреляции между двумя столбцами

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view first five rows of DataFrame
df.head ()

 points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

#calculate correlation between points and assists
df['points']. corr(df['assists'])

-0.359384

Коэффициент корреляции равен -0,359.Поскольку эта корреляция отрицательна, это говорит нам о том, что очки и передачи имеют отрицательную корреляцию.

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

Пример 2: расчет значимости корреляции

Чтобы определить, является ли коэффициент корреляции статистически значимым, вы можете использовать функцию pearsonr(x, y) из библиотеки SciPy .

Следующий код показывает, как использовать эту функцию на практике:

import pandas as pd
from scipy. stats import pearsonr

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#calculate p-value of correlation coefficient between points and assists
pearsonr(df['points'], df['assists'])

(-0.359384, 0.38192)

Первое значение в выходных данных отображает коэффициент корреляции (-0,359384), а второе значение отображает p-значение (0,38192), связанное с этим коэффициентом корреляции.

Поскольку p-значение не меньше α = 0,05, можно сделать вывод, что корреляция между очками и передачами не является статистически значимой.

Дополнительные ресурсы

Как рассчитать ранговую корреляцию Спирмена в Python
Как рассчитать частичную корреляцию в Python
Как рассчитать взаимную корреляцию в Python

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.