Comment utiliser corrwith() dans Pandas (avec exemples)
Vous pouvez utiliser la fonction corrwith() dans pandas pour calculer la corrélation par paire entre les colonnes numériques portant le même nom dans deux DataFrames pandas différents.
Cette fonction utilise la syntaxe de base suivante :
df1.corrwith(df2)
Remarque : Cette fonction est différente de la fonction corr() , qui permet de calculer la corrélation entre deux colonnes numériques au sein du même DataFrame.
L’exemple suivant montre comment utiliser la fonction corrwith() dans la pratique.
Exemple : Comment utiliser corrwith() dans Pandas
Supposons que nous ayons les deux DataFrames pandas suivants :
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 A 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
Nous pouvons utiliser la fonction corrwith() pour calculer la corrélation entre les colonnes numériques portant les mêmes noms dans les deux DataFrames :
#calculate correlation between numeric columns with same names in each DataFrame
df1.corrwith(df2)
points 0.677051
assists -0.478184
rebounds NaN
rebs NaN
dtype: float64
À partir du résultat, nous pouvons voir :
- La corrélation entre les valeurs des colonnes de points des deux DataFrames est de 0,677 .
- La corrélation entre les valeurs des colonnes d’assistance dans les deux DataFrames est de -0,478 .
Étant donné que les noms de colonnes rebonds et rebs n’existaient pas dans les deux DataFrames, une valeur NaN est renvoyée pour chacune de ces colonnes.
Note n°1 : Par défaut, la fonction corrwith() calcule le coefficient de corrélation de Pearson entre les colonnes, mais vous pouvez également spécifier method=’kendall’ ou method=’spearman’ pour calculer à la place un type différent de coefficient de corrélation.
Note #2 : Vous pouvez trouver la documentation complète de la fonction corrwith() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Comment calculer la corrélation par groupe chez Pandas
Comment calculer la corrélation glissante chez les pandas
Comment calculer la corrélation entre deux colonnes dans Pandas