Como calcular a correlação entre duas colunas no pandas


Você pode usar a seguinte sintaxe para calcular a correlação entre duas colunas em um DataFrame do pandas:

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

Os exemplos a seguir mostram como usar essa sintaxe na prática.

Exemplo 1: Calcule a correlação entre duas colunas

O código a seguir mostra como calcular a correlação entre colunas em um DataFrame do 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

O coeficiente de correlação é -0,359 . Como esta correlação é negativa, isso nos diz que os pontos e as assistências estão correlacionados negativamente.

Ou seja, à medida que os valores da coluna de pontos aumentam, os valores da coluna de assistências tendem a diminuir.

Exemplo 2: Calcular a Significância da Correlação

Para determinar se um coeficiente de correlação é estatisticamente significativo ou não, você pode usar a função pearsonr(x, y) da biblioteca SciPy .

O código a seguir mostra como usar esta função na prática:

 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)

O primeiro valor da saída exibe o coeficiente de correlação (-0,359384) e o segundo valor exibe o valor p (0,38192) associado a esse coeficiente de correlação.

Como o valor p não é inferior a α = 0,05, concluiríamos que a correlação entre pontos e assistências não é estatisticamente significativa.

Recursos adicionais

Como calcular a correlação de classificação de Spearman em Python
Como calcular a correlação parcial em Python
Como calcular a correlação cruzada em Python

Add a Comment

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