2014-06-19 109 views
0

我有我已經用groupby一個大熊貓DataFrame把它分爲以下格式:繪製大熊貓groupy對象作爲堆積水平條形圖

Building Type 1   1000 - 3000m2  0.766355 
          3000 - 10000m2  0.140187 
          300 - 1000m2  0.084112 
          10000 - 30000m2 0.009346 
Building Type 2   1000 - 3000m2  1.000000 
Building Type 3   1000 - 3000m2  0.666667 
          3000 - 10000m2  0.222222 
          10000 - 30000m2 0.055556 
          300 - 1000m2  0.055556 
Building Type 4   1000 - 3000m2  0.526316 
          3000 - 10000m2  0.473684 

我試圖用這個做的是創建水平堆疊的條形圖與每個建築類型的酒吧。本質上我想將數據轉換爲以下格式:

Building Type  300 - 1000m2 1000 - 3000m2 3000 - 10000m2 10000 - 30000m2 
Building Type 1  0.084112  0.766355  0.140187  0.009346 
Building Type 2      1.000000 
Building Type 3  0.055556  0.666667  0.222222  0.055556 
Building Type 4      0.526316  0.473684 

我需要用什麼函數來實現這個功能?

回答

0

這比我想象的要容易得多。這只是在groupby對象上調用unstack然後繪製它的情況。

df = grouped.unstack() 
df.plot(kind='barh', stacked=True) 

Stacking and unstacking docs

0
piv = pd.pivot_table(datasetname, values="counts",index=["buildingtype"], columns=["m2"], fill_value=0) 
+0

任何理由,這是一個更好的辦法? –

+0

@kathleen,即使你的回答可能是正確的,如果你有一點評論,它會很好。 –