Maison  >  Article  >  développement back-end  >  Comment tracer un graphique à barres empilées avec des pandas lorsque les données sont séparées en plusieurs colonnes ?

Comment tracer un graphique à barres empilées avec des pandas lorsque les données sont séparées en plusieurs colonnes ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-21 19:40:03949parcourir

How to Plot a Stacked Bar Chart with Pandas When Data is Separated into Multiple Columns?

Tracer un graphique à barres empilées avec Pandas

En Python, nous pouvons utiliser Pandas et Matplotlib pour créer des graphiques à barres empilés. Un défi courant consiste à structurer les données du graphique.

Par exemple, considérons la tâche consistant à créer un graphique à barres empilées avec des données séparées en plusieurs colonnes. L'exemple donné montre une feuille de calcul avec les noms de sites et le nombre d'abus/NFF. Pour tracer ces données :

  1. Importer des bibliothèques : Commencez par importer Pandas et Matplotlib.
  2. Créer un cadre de données : Créez un DataFrame Pandas à partir de vos données CSV.
  3. Restructurer les données : utilisez les fonctions groupby() et unstack() pour restructurer les données dans un format adapté au graphique à barres. Dans l'exemple, les données sont regroupées par nom de site et abus/NFF, puis les décomptes sont dépilés.
  4. Créer un graphique à barres : utilisez la fonction plot() avec kind=' bar' et stacked=True arguments pour créer le graphique à barres empilées.
  5. Étiqueter les axes : N'oubliez pas d'étiqueter les axes x et y.

Exemple de code :

import pandas as pd
import matplotlib.pyplot as plt

# Create DataFrame from CSV data
df = pd.read_csv('data.csv')

# Restructure data
df2 = df.groupby(['Site Name', 'Abuse/NFF'])['Site Name'].count().unstack('Abuse/NFF').fillna(0)

# Create bar chart
df2[['abuse', 'nff']].plot(kind='bar', stacked=True)
plt.xlabel('Site Name')
plt.ylabel('Count')
plt.title('Stacked Bar Chart of Abuse and NFF')
plt.show()

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn