Zeichnen eines gestapelten Balkendiagramms mit Pandas
Frage:
Wie kann ich ein erstellen Gestapeltes Balkendiagramm mit Pandas, ähnlich dem bereitgestellten Bild? Mein aktueller Datenrahmen besteht aus separaten Spalten für die Anzahl „Site-Name“ und „Missbrauch/NFF“, und ich kann die Daten nicht anordnen oder das gestapelte Balkendiagramm erstellen.
Lösung:
1. Datenvorbereitung:
Erstellen Sie einen neuen Datenrahmen, indem Sie die Daten sowohl nach „Site-Name“ als auch nach „Missbrauch/NFF“ gruppieren und das Vorkommen jeder Kombination zählen.
2 . Stapeln der Daten:
Verwenden Sie die Methode .unstack(), um einen gestapelten Datenrahmen mit „Site-Name“ als Index und „Abuse/NFF“ als Spalten zu erstellen.
3. Fehlende Werte füllen:
Behandeln Sie alle fehlenden Werte, indem Sie sie mithilfe der Methode .fillna(0) mit Nullen füllen.
4. Zeichnen des Balkendiagramms:
Verwenden Sie die .plot()-Methode mit dem Parameter kind auf „bar“ und dem Parameter stacked auf True, um ein gestapeltes Balkendiagramm zu erstellen.
Python-Code:
<code class="python">import pandas as pd import matplotlib.pyplot as plt # Create a dataframe from the CSV file df = pd.read_csv("data.csv") # Group by "Site Name" and "Abuse/NFF" and count occurrences df2 = df.groupby(['Site Name', 'Abuse/NFF'])['Site Name'].count().unstack('Abuse/NFF').fillna(0) # Plot the stacked bar chart df2[['abuse','nff']].plot(kind='bar', stacked=True) plt.show()</code>
Ausgabe:
Das resultierende Diagramm ähnelt dem in der ursprünglichen Frage bereitgestellten Bild und zeigt die gestapelten Zählungen von an „Missbrauch“ und „NFF“ für jeden „Site-Namen“.
Das obige ist der detaillierte Inhalt vonWie erstelle ich in Pandas ein gestapeltes Balkendiagramm mit gruppierten Daten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!