Come calcolare la correlazione tra due colonne in pandas


È possibile utilizzare la seguente sintassi per calcolare la correlazione tra due colonne in un DataFrame panda:

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

Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.

Esempio 1: calcolare la correlazione tra due colonne

Il codice seguente mostra come calcolare la correlazione tra le colonne in un DataFrame panda:

 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

Il coefficiente di correlazione è -0,359 . Poiché questa correlazione è negativa, ciò ci dice che i punti e gli assist sono correlati negativamente.

In altre parole, all’aumentare dei valori nella colonna dei punti, i valori nella colonna degli assist tendono a diminuire.

Esempio 2: calcolare la significatività della correlazione

Per determinare se un coefficiente di correlazione è statisticamente significativo o meno, è possibile utilizzare la funzione peppersonr(x, y) dalla libreria SciPy .

Il codice seguente mostra come utilizzare in pratica questa funzione:

 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)

Il primo valore dell’output visualizza il coefficiente di correlazione (-0,359384) e il secondo valore visualizza il valore p (0,38192) associato a tale coefficiente di correlazione.

Poiché il valore p non è inferiore a α = 0,05, concluderemmo che la correlazione tra punti e assist non è statisticamente significativa.

Risorse addizionali

Come calcolare la correlazione del rango di Spearman in Python
Come calcolare la correlazione parziale in Python
Come calcolare la correlazione incrociata in Python

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *