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


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

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

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

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

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

 import pandas as pd

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *