Visualisation de données avec Pandas

La visualisation des données est une partie importante de l'analyse de données. Elle nous aide à mieux comprendre et interpréter les motifs, les tendances et les relations dans les données.

À travers des graphiques, des diagrammes et d'autres formes, la visualisation des données transforme des nombres complexes et des informations statistiques en images faciles à comprendre, ce qui facilite la prise de décision.

Pandas offre une intégration avecMatplotlibetSeabornainsi que d'autres bibliothèques de visualisation, ce qui rend la visualisation des données simple et efficace.

Dans Pandas, la fonctionnalité de visualisation de données est principalement mise en œuvre viaDataFrame.plot()etSeries.plot()méthodes. Ces méthodes sont en fait des surcouches autour de la bibliothèque Matplotlib, ce qui simplifie le processus de création de graphiques.

Type de graphique Description Méthode
Graphique en courbes Montre la tendance des données au fil du temps ou selon d'autres variables continues df.plot(kind='line')
Diagramme à barres Compare les données entre différentes catégories df.plot(kind='bar')
Diagramme à barres horizontales Compare les données entre différentes catégories, mais les barres sont disposées horizontalement df.plot(kind='barh')
Histogramme Affiche la distribution des données df.plot(kind='hist')
Nuage de points Montre la relation entre deux variables numériques df.plot(kind='scatter', x='col1', y='col2')
Diagramme en boîte Affiche la distribution des données, y compris la médiane, les quartiles, etc. df.plot(kind='box')
Graphique de densité Affiche la distribution de densité des données df.plot(kind='kde')
Diagramme circulaire Affiche la proportion des différentes parties dans l'ensemble df.plot(kind='pie')
Diagramme en aires Affiche les valeurs cumulées des données df.plot(kind='area')

Les fonctions et méthodes de base de la visualisation de données avec Pandas peuvent répondre à la plupart des besoins quotidiens de visualisation de données. Cependant, pour obtenir des visualisations plus complexes, vous pouvez combiner Matplotlib et Seaborn pour une personnalisation plus fine des graphiques.


I. Aperçu de la visualisation de données avec Pandas

Pandas fournit laplot()méthodes permettant de tracer facilement différents types de graphiques, notamment des graphiques linéaires, des diagrammes à barres, des histogrammes, des nuages de points, etc.plot()Les méthodes disposent de nombreux paramètres, permettant de personnaliser le style du graphique, les couleurs, les libellés, etc.

1. Basesplot()Méthodes

Paramètre Description
kind Type de graphique, prend en charge'line', 'bar', 'barh', 'hist', 'box', 'kde', 'density', 'area', 'pie'et d'autres types
x Définir la colonne de données pour l'axe des x
y Définir la colonne de données pour l’axe Y
title Titre du graphique
xlabel Libellé de l’axe X
ylabel Libellé de l’axe Y
color Définir la couleur du graphique
figsize Définir la taille du graphique (largeur, hauteur)
legend Afficher ou non la légende

2. Types de graphiques courants

Type de graphique Description Utilisation courante
Graphique en courbes Utilisé pour afficher les tendances des données au fil du temps df.plot(kind='line')
Diagramme à barres Utilisé pour afficher des données de comparaison entre catégories df.plot(kind='bar')
Diagramme à barres horizontales Semblable à un graphique à barres, mais les barres sont horizontales df.plot(kind='barh')
Histogramme Utilisé pour afficher la distribution des données (distribution des fréquences) df.plot(kind='hist')
Nuage de points Utilisé pour afficher la relation entre deux variables numériques df.plot(kind='scatter', x='col1', y='col2')
Diagramme en boîte Utilisé pour afficher la distribution des données, les valeurs aberrantes et les quartiles df.plot(kind='box')
Graphique de densité Utilisé pour afficher la distribution de densité des données df.plot(kind='kde')
Diagramme circulaire Utilisé pour afficher la proportion de chaque partie dans l'ensemble df.plot(kind='pie')
Diagramme en aires Utilisé pour afficher des valeurs cumulées (semblable à un graphique en courbes, mais avec une couleur de remplissage) df.plot(kind='area')

II. Exemples de visualisation de données

1. Graphique en courbes

Les graphiques en courbes sont couramment utilisés pour montrer la tendance des données au fil du temps.

Exemple

import pandas as pd
import matplotlib.pyplot as plt

# Données d'exemple
data = {'Year': [2015, 2016, 2017, 2018, 2019, 2020],
        'Sales': [100, 150, 200, 250, 300, 350]}
df = pd.DataFrame(data)

# Tracer un graphique en courbes
df.plot(kind='line', x='Year', y='Sales', title='Sales Over Years', xlabel='Year', ylabel='Sales', figsize=(10, 6))
plt.show()

Sortie :

2. Diagramme à barres

Les diagrammes à barres sont utilisés pour montrer des comparaisons entre différentes catégories, particulièrement adaptés aux données discrètes.

Exemple

import pandas as pd
import matplotlib.pyplot as plt

# Données d'exemple
data = {'Category': ['A', 'B', 'C', 'D'],
        'Valeur': [10, 15, 7, 12]}
df = pd.DataFrame(data)

# Tracer un diagramme à barres
df.plot(kind='bar', x='Category', y='Value', title='Valeurs des catégories', xlabel='Category', ylabel='Value', figsize=(8, 5))
plt.show()

Sortie :

3. Diagramme de dispersion

Les diagrammes de dispersion sont utilisés pour montrer la relation entre deux variables numériques.

Exemple

import pandas as pd
import matplotlib.pyplot as plt

# Données d'exemple
data = {'Height': [150, 160, 170, 180, 190],
        'Weight': [50, 60, 70, 80, 90]}
df = pd.DataFrame(data)

# Tracer un diagramme de dispersion
df.plot(kind='scatter', x='Height', y='Weight', title='Taille vs Poids', xlabel='Taille (cm)', ylabel='Poids (kg)', figsize=(8, 5))
plt.show()

Sortie :

4. Histogramme

Les histogrammes sont utilisés pour afficher la distribution des données, en particulier pour décrire la distribution des fréquences des données.

Exemple

import pandas as pd
import matplotlib.pyplot as plt

# Données d'exemple
data = {'Scores': [55, 70, 85, 90, 60, 75, 80, 95, 100, 65]}
df = pd.DataFrame(data)

# Tracer l'histogramme
df.plot(kind='hist', y='Scores', bins=5, title='Distribution des scores', xlabel='Scores', figsize=(8, 5))
plt.show()

Sortie :

5. Boîte à moustaches

Les boîtes à moustaches sont utilisées pour afficher la distribution des données, y compris la médiane, les quartiles et les valeurs aberrantes.

Exemple

import pandas as pd
import matplotlib.pyplot as plt

# Données d'exemple
data = {'Scores': [55, 70, 85, 90, 60, 75, 80, 95, 100, 65]}
df = pd.DataFrame(data)

# Tracer la boîte à moustaches
df.plot(kind='box', title='Boîte à moustaches des scores', ylabel='Scores', figsize=(8, 5))
plt.show()

Sortie :

6. Diagramme circulaire

Les diagrammes circulaires servent à montrer la proportion de chaque partie par rapport au tout.

Exemple

import pandas as pd
import matplotlib.pyplot as plt

# Données d'exemple
data = {'Category': ['A', 'B', 'C', 'D'],
        'Valeur': [10, 15, 7, 12]}
df = pd.DataFrame(data)

# Tracer un diagramme circulaire
df.plot(kind='pie', y='Value', labels=df['Category'], autopct='%1.1f%%', title='Proportions des catégories', figsize=(8, 5))
plt.show()

Sortie :


III. Visualisation Seaborn

Seaborn est une bibliothèque avancée de visualisation de données basée sur Matplotlib, offrant des graphiques plus beaux, plus faciles à utiliser et une variété plus riche de types de graphiques statistiques.

Dans Pandas, vous pouvez utiliser Seaborn directement en conjonction avec lui.

Carte thermique :

Exemple

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# Données d'exemple
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)

# Tracer une carte thermique
sns.heatmap(df.corr(), annot=True, cmap='coolwarm')
plt.show()

Sortie :

Matrice de nuages de points entre toutes les variables numériques du jeu de données:

Exemple

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# Données d'exemple
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)

sns.pairplot(df)
plt.show()

Sortie :


IV. Personnalisation avancée de Matplotlib

En plus d'utiliser les méthodes fournies par Pandas,plot()Matplotlib peut également fournir des fonctionnalités de personnalisation plus flexibles, telles que l'ajout de titres, d'étiquettes, la définition de styles de graphiques, l'ajustement des axes, etc.

Exemple

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# Données d'exemple
data = {'Year': [2015, 2016, 2017, 2018, 2019],
        'Sales': [100, 150, 200, 250, 300]}
df = pd.DataFrame(data)

# Tracer un graphique en courbes
plt.plot(df['Year'], df['Sales'], color='blue', marker='o')

# Personnalisation
plt.title('Ventes au fil des années')
plt.xlabel('Année')
plt.ylabel('Ventes')
plt.grid(True)

# Affichage
plt.show()

Sortie :

Autres extensions