我有關於繪製分組的DataFrame數據的問題。條形圖分組熊貓
的數據是這樣的:
data =
index taste food
0 good cheese
1 bad tomato
2 worse tomato
3 worse cheese
4 good meat
5 good meat
6 bad cheese
7 worse tomato
8 worse tomato
9 good cheese
10 worse meat
11 good meat
我想要做的是爲具有各自的味道類別爲x軸柱狀圖(好,壞,壞)和各食品 - 的百分比分佈在每個口味類別中鍵入欄。
因此,看着例如口味類別worse
我們有:3 tomato
,1 cheese
和1 meat
。總共有3 + 1 + 1 = 5食物類型中的類,並且因此:
3/5 = 60%tomato
, 1/5 = 20%cheese
和 1/5 = 20%meat
到目前爲止,我曾嘗試使用GroupBy
和agg
的東西,如:
df_1 = data.groupby(['taste', 'food']).agg({'taste' : 'count'})
df_2 = df_1.groupby(level=0).apply(lambda x: 100 * x/float(x.sum()))
這似乎得到我想要的結果:
taste
taste food
bad cheese 50.0
tomato 50.0
good cheese 40.0
meat 60.0
worse cheese 20.0
meat 20.0
tomato 60.0
但是現在我被困在如何真正繪製這個!
在Excel中,它看起來是這樣的:
是這個例子,可以幫助你嗎? http://seaborn.pydata.org/examples/factorplot_bars.html – Zealseeker
謝謝@Zealseeker。我會看看。經典之作,在處理它並在此處輸入時找到自己問題的答案:) – gussilago