Maison  >  Article  >  développement back-end  >  Comment créer un graphique à barres empilées avec des pandas à l'aide de données groupées

Comment créer un graphique à barres empilées avec des pandas à l'aide de données groupées

Patricia Arquette
Patricia Arquetteoriginal
2024-10-21 19:35:29571parcourir

How to Create a Stacked Bar Chart with Pandas Using Grouped Data

Création d'un graphique à barres empilées avec des pandas

Pour créer un graphique à barres empilées avec des pandas, vous devez avoir vos données dans un DataFrame avec une colonne pour les étiquettes de l'axe X et une colonne pour chaque série du graphique à barres. Dans ce cas, les étiquettes de l'axe X sont le « Nom du site » et les séries sont « Abuse » et « NFF ».

Une façon de créer ce DataFrame est d'utiliser le groupby() des pandas et de dépiler () méthodes. La méthode 'groupby() regroupe les données par les colonnes 'Site Name' et Abuse/NFF', et la méthode unstack()` convertit les données groupées en un DataFrame avec le 'Site Name' comme index et l''Abuse ' et 'NFF' comme colonnes.

<code class="python">test5 = faultdf.groupby(['Site Name', 'Abuse/NFF'])['Site Name'].count().unstack('Abuse/NFF').fillna(0)</code>

Une fois que vous avez le DataFrame, vous pouvez créer le graphique à barres empilées à l'aide de la méthode plot() avec le kind='bar' et les paramètres empilés définis sur Vrai.

<code class="python">test5.plot(kind='bar', stacked=True)</code>

Le tracé résultant sera un graphique à barres empilées avec le « Nom du site » sur l'axe des X et les colonnes « Abus » et « NFF » comme piles.

<code class="python">%pylab inline
import pandas as pd
import matplotlib.pyplot as plt

df2 = df.groupby(['Name', 'Abuse/NFF'])['Name'].count().unstack('Abuse/NFF').fillna(0)
df2[['abuse','nff']].plot(kind='bar', stacked=True)</code>

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