2014-05-01 229 views
15

我想創建一個複製圖片的堆積條形圖,我的所有數據都與該Excel電子表格分開。熊貓 - 繪製堆積條形圖

enter image description here

我無法弄清楚如何使數據幀的像合照,我也不能弄清楚如何使堆積條形圖。我找到的所有示例都以我嘗試創建的不同方式工作。

我的數據框是一個csv的所有值縮小到下面的大熊貓數據框。

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

我已成功地與數合計數據,並獲得個人數爲每個站點,我只是不能似乎它在某種程度上圖表結合起來。

非常感謝一些強烈的指導。

完成的代碼,非常感謝您的幫助完成。

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

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

注意,以饗讀者:如果你想接受的答案時,得到相關指數'KeyError',這裏使用完成的代碼中的問題。 – KobeJohn

回答

35

您是否收到錯誤,或者只是不確定從哪裏開始?

%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

這產生這個http://i.imgur.com/hocPgWg.jpg這是不正確的,我需要堆疊的部分是每個網站的濫用/非專欄的數量。我沒有得到錯誤,我只是努力開始。爲響應歡呼。 – Kuzen

+0

我已經更新了我的答案,在groupby函數之後加入了['濫用/ NFF']部分。添加這意味着「濫用」列將是唯一被聚合的值(在本例中計數)。 – chucklukowski

+1

可悲的是,它現在基本上是一樣的圖形,但沒有堆疊,沒有錯誤,沒有傳說,基本沒有綠色。它計算的總數,而不是每個商店的列中的值的總和,如果這是有道理的。 – Kuzen