Como usar corrwith() no pandas (com exemplos)


Você pode usar a função corrwith() em pandas para calcular a correlação de pares entre colunas numéricas com o mesmo nome em dois DataFrames de pandas diferentes.

Esta função usa a seguinte sintaxe básica:

 df1. corrwith (df2)

Nota : Esta função é diferente da função corr() , que calcula a correlação entre duas colunas numéricas dentro do mesmo DataFrame.

O exemplo a seguir mostra como usar a função corrwith() na prática.

Exemplo: como usar corrwith() no Pandas

Vamos supor que temos os dois DataFrames panda a seguir:

 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

Podemos usar a função corrwith() para calcular a correlação entre colunas numéricas com os mesmos nomes nos dois 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

Pelo resultado podemos ver:

  • A correlação entre os valores da coluna de pontos dos dois DataFrames é 0,677 .
  • A correlação entre os valores da coluna auxiliar nos dois DataFrames é -0,478 .

Como os nomes das colunas bounces e rebs não existiam em ambos os DataFrames, um valor NaN é retornado para cada uma dessas colunas.

Nota #1 : Por padrão, a função corrwith() calcula o coeficiente de correlação de Pearson entre colunas, mas você também pode especificar method=’kendall’ ou method=’spearman’ para calcular um tipo diferente de coeficiente em vez de correlação.

Nota nº 2 : você pode encontrar a documentação completa para a função corrwith() aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como calcular a correlação por grupo no Pandas
Como calcular a correlação deslizante em pandas
Como calcular a correlação entre duas colunas no Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *