Maison > développement back-end > Tutoriel Python > 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
Libérer: 2024-10-21 19:40:03
original
1048 Les gens l'ont consulté

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()
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal