Как использовать corrwith() в pandas (с примерами)


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

Эта функция использует следующий базовый синтаксис:

 df1. corrwith (df2)

Примечание . Эта функция отличается от функции corr() , которая вычисляет корреляцию между двумя числовыми столбцами в одном и том же DataFrame.

В следующем примере показано, как использовать функцию corrwith() на практике.

Пример: как использовать corrwith() в Pandas

Предположим, у нас есть следующие два кадра данных panda:

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [18, 22, 29, 25, 14, 11],
                    ' assists ': [4, 5, 5, 4, 8, 12],
                    ' rebounds ': [10, 6, 4, 6, 3, 5]})

print (df1)

  team points assists rebounds
0 to 18 4 10
1 B 22 5 6
2 C 29 5 4
3 D 25 4 6
4 E 14 8 3
5 F 11 12 5

#create second DataFrame
df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [22, 25, 27, 35, 25, 20],
                    ' assists ': [15, 13, 8, 8, 5, 8],
                    ' rebs ': [4, 11, 12, 8, 7, 10]})

print (df2)

  team points assists rebs
0 A 22 15 4
1 B 25 13 11
2 C 27 8 12
3 D 35 8 8
4 E 25 5 7
5 F 20 8 10

Мы можем использовать функцию corrwith() для расчета корреляции между числовыми столбцами с одинаковыми именами в двух DataFrames:

 #calculate correlation between numeric columns with same names in each DataFrame
df1. corrwith (df2)

points 0.677051
assists -0.478184
NaN rebounds
rebs NaN
dtype:float64

По результату мы видим:

  • Корреляция между значениями столбцов точек двух DataFrames составляет 0,677 .
  • Корреляция между значениями вспомогательных столбцов в двух DataFrames равна -0,478 .

Поскольку имена столбцов «отскоки» и «повторения» не существовали в обоих DataFrames, для каждого из этих столбцов возвращается значение NaN .

Примечание № 1. По умолчанию функция corrwith() вычисляет коэффициент корреляции Пирсона между столбцами, но вы также можете указать метод = ‘kendall’ или метод = ‘Спирман’, чтобы вместо корреляции вычислить коэффициент корреляции другого типа.

Примечание №2 . Полную документацию по функции corrwith() можно найти здесь .

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

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

Как рассчитать корреляцию по группам в Pandas
Как рассчитать скользящую корреляцию в пандах
Как рассчитать корреляцию между двумя столбцами в Pandas

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

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