2014-05-01 13 views
15

Sto cercando di creare un grafico a barre in pila che riproduca l'immagine, tutti i miei dati sono separati da quel foglio di calcolo Excel.Panda - Tracciare un grafico a barre in pila

enter image description here

Non riesco a capire come fare un dataframe per esso come raffigurato, né posso capire come rendere il grafico a barre sovrapposte. Tutti gli esempi che trovo funzionano in modi diversi da ciò che sto cercando di creare.

Il mio dataframe è un csv di tutti i valori ristretto al seguente con un dataframe panda.

 Site Name Abuse/NFF 
0 NORTH ACTON  ABUSE 
1 WASHINGTON   - 
2 WASHINGTON  NFF 
3 BELFAST   - 
4 CROYDON   - 

sono riuscito a contare i dati con totali e ottenere i singoli conteggi per ciascun sito, ho appena cant sembrano combinare in modo da rappresentare graficamente.

Apprezzeremmo davvero una guida forte.

Codice completato, molte grazie per il completamento dell'assistenza.

test5 = faultdf.groupby(['Site Name', 'Abuse/NFF'])['Site Name'].count().unstack('Abuse/NFF').fillna(0) 

test5.plot(kind='bar', stacked=True) 
+0

Avviso ai lettori: se si stanno ottenendo il 'KeyError' relativi all'indice quando si cerca la risposta accettata, utilizzare il codice completo qui nella questione. – KobeJohn

risposta

35

Si verificano errori o non si sa da dove iniziare?

%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) 

stacked bar plot

+0

Che produce questo http://i.imgur.com/hocPgWg.jpg che non è proprio corretto, ho bisogno che la parte impilata sia il conteggio della colonna di abuso/nff per ciascun sito. Non sto ottenendo errori, ho solo difficoltà a iniziare. Saluti per la risposta. – Kuzen

+0

Ho aggiornato la mia risposta per includere la parte ['Abuse/NFF'] dopo la funzione groupby. Aggiungendo questo significa che la colonna Abuso sarà l'unico valore che viene aggregato (contato in questo esempio). – chucklukowski

+1

Non funziona purtroppo, è praticamente lo stesso grafico ora ma senza essere impilato, nessun errore, nessuna legenda, nessun verde in pratica. Conta i totali anziché i totali dei valori nelle colonne per archivio, se questo ha senso. – Kuzen