Pandas : créer un nuage de points à l’aide de plusieurs colonnes



Vous pouvez utiliser la syntaxe de base suivante pour créer un nuage de points en utilisant plusieurs colonnes dans un DataFrame pandas :

import pandas as pd

#create scatter plot of A vs. B
ax1 = df.plot(kind='scatter', x='A', y='B', color='r')

#add scatter plot on same graph of C vs. D
ax2 = df.plot(kind='scatter', x='C', y='D', color='g', ax=ax1)

Cet exemple particulier crée un nuage de points en utilisant les colonnes A et B, puis superpose un autre nuage de points sur le même graphique en utilisant les colonnes C et D.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : créer un nuage de points Pandas à l’aide de plusieurs colonnes

Supposons que nous ayons le DataFrame pandas suivant qui montre les points et les passes décisives de divers joueurs de basket-ball des équipes A et B :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'A_assists': [3, 4, 5, 6, 7, 7, 8, 9],
                   'A_points': [6, 8, 8, 10, 13, 13, 15, 16],
                   'B_assists': [3, 4, 4, 5, 5, 6, 7, 7],
                   'B_points': [7, 9, 9, 13, 10, 11, 12, 13]})
#view DataFrame
print(df)

   A_assists  A_points  B_assists  B_points
0          3         6          3         7
1          4         8          4         9
2          5         8          4         9
3          6        10          5        13
4          7        13          5        10
5          7        13          6        11
6          8        15          7        12
7          9        16          7        13

Nous pouvons utiliser la syntaxe suivante pour créer un nuage de points en utilisant les colonnes A_assistes et A_points , puis superposer un autre nuage de points sur le même graphique en utilisant les colonnes B_assistes et B_points :

#create scatter plot of A_assists vs. A_points
ax1=df.plot(kind='scatter', x='A_assists', y='A_points', color='r', label='A')

#add scatter plot on same graph using B_assists vs. B_points
ax2=df.plot(kind='scatter', x='B_assists', y='B_points', color='g', label='B', ax=ax1)

#specify x-axis and y-axis labels
ax1.set_xlabel('Assists')
ax1.set_ylabel('Points')

nuage de points pandas utilisant plusieurs colonnes

Le résultat final est un nuage de points qui contient les valeurs des colonnes A_assistes et A_points en rouge et les valeurs des colonnes B_assistes et B_points en vert.

Note #1 : L’argument label spécifie le label à utiliser dans la légende du tracé.

Note #2 : Dans cet exemple, nous avons utilisé deux groupes de colonnes pour tracer deux nuages de points sur le même graphique. Cependant, vous pouvez utiliser ax3 , ax4 , etc. pour ajouter autant de colonnes que vous le souhaitez au nuage de points.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Comment tracer des histogrammes par groupe chez Pandas
Comment tracer des données catégorielles dans Pandas
Comment tracer la distribution des valeurs de colonne dans Pandas

Ajouter un commentaire

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