Comment tracer deux colonnes à partir de Pandas DataFrame
Il existe deux manières courantes de tracer les valeurs de deux colonnes dans un DataFrame pandas :
Méthode 1 : tracer deux colonnes sous forme de points sur un nuage de points
import matplotlib.pyplot as plt
plt.scatter(df['column1'], df['column2'])
Méthode 2 : tracer deux colonnes sous forme de lignes sur un graphique linéaire
df.plot(x='column1', y=['column2', 'column3'])
Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.
Exemple 1 : tracer deux colonnes sur un nuage de points
Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur divers joueurs de basket-ball :
import pandas as pd
#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
'points': [18, 22, 19, 14, 14, 11, 20, 28],
'assists': [5, 7, 7, 9, 12, 9, 9, 4]})
#view DataFrame
print(df)
team points assists
0 A 18 5
1 B 22 7
2 C 19 7
3 D 14 9
4 E 14 12
5 F 11 9
6 G 20 9
7 H 28 4
Nous pouvons utiliser le code suivant pour créer un nuage de points qui affiche la colonne des points sur l’axe des x et la colonne des assistances sur l’axe des y :
import matplotlib.pyplot as plt
#create scatter plot
plt.scatter(df['points'], df['assists'])
#add axis labels
plt.xlabel('Points')
plt.ylabel('Assists')
L’axe des X contient les valeurs de la colonne des points et l’axe des Y contient les valeurs de la colonne des assistances .
Exemple 2 : tracer deux colonnes sur un graphique linéaire
Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur les points marqués et les points accordés par une équipe de basket-ball dans six matchs différents :
import pandas as pd
#create DataFrame
df = pd.DataFrame({'game': [1, 2, 3, 4, 5, 6],
'points_for': [99, 94, 92, 90, 87, 85],
'points_against': [89, 76, 78, 78, 85, 87]})
#view DataFrame
print(df)
game points_for points_against
0 1 99 89
1 2 94 76
2 3 92 78
3 4 90 78
4 5 87 85
5 6 85 87
Nous pouvons utiliser le code suivant pour créer un graphique linéaire qui affiche les valeurs de point_for sur une ligne et de points_against sur une autre ligne tout en utilisant la valeur de game sur l’axe des x :
#plot points_for and points_against columns on same y-axis
df.plot(x='game', y=['points_for', 'points_against'])
La ligne bleue représente la valeur de la colonne points_for dans chaque jeu et la ligne orange représente les valeurs de la colonne points_against dans chaque jeu.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :
Comment utiliser Groupby et Plot dans Pandas
Comment tracer la distribution des valeurs de colonne dans Pandas
Comment ajuster la taille de la figure d’un tracé de pandas