Comment calculer la corrélation entre deux colonnes dans Pandas



Vous pouvez utiliser la syntaxe suivante pour calculer la corrélation entre deux colonnes dans un DataFrame pandas :

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

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Exemple 1 : calculer la corrélation entre deux colonnes

Le code suivant montre comment calculer la corrélation entre les colonnes dans un DataFrame pandas :

import pandas as pd

#create DataFrame
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

Le coefficient de corrélation est de -0,359 . Puisque cette corrélation est négative, cela nous indique que les points et les passes décisives sont négativement corrélés.

En d’autres termes, à mesure que les valeurs dans la colonne des points augmentent, les valeurs dans la colonne des passes décisives ont tendance à diminuer.

Exemple 2 : calculer l’importance de la corrélation

Pour déterminer si un coefficient de corrélation est statistiquement significatif ou non, vous pouvez utiliser la fonction pearsonr(x, y) de la bibliothèque SciPy .

Le code suivant montre comment utiliser cette fonction en pratique :

import pandas as pd
from scipy.stats import pearsonr

#create DataFrame
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)

La première valeur de la sortie affiche le coefficient de corrélation (-0,359384) et la deuxième valeur affiche la valeur p (0,38192) associée à ce coefficient de corrélation.

Puisque la valeur p n’est pas inférieure à α = 0,05, nous conclurions que la corrélation entre les points et les passes décisives n’est pas statistiquement significative.

Ressources additionnelles

Comment calculer la corrélation de rang Spearman en Python
Comment calculer une corrélation partielle en Python
Comment calculer la corrélation croisée en Python

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *