2016-04-30 130 views
0

有人可以幫助我定義在熊貓中可視化3列的最佳方式嗎?我嘗試使用堆積條形圖並在SO上搜索其他解決方案,但沒有任何工作。任何幫助表示讚賞。這是一個虛擬的大熊貓數據幀:3個變量的熊貓情節

Name hour var 
Nem  0  2 
Kiz  4  1 
Hue  5  2 
Kiz  0  3 
Nem  7  7 
+0

你能告訴更多的爲什麼堆疊柱狀圖中不起作用? –

+0

它的工作原理,但數字完全壓縮,因爲我在數據框中有大約10000行。如果可能的話,我希望在x軸上有'Name'變量,'hour'定義的顏色以及變量'var'定義的每個顏色部分的高度。 – Makaroni

回答

1

UPDATE:是你想要的嗎?

(df.pivot_table(index='Name', columns='hour', values='var', 
       aggfunc='sum', fill_value=0) 
    .plot.bar(stacked=True) 
) 

enter image description here

說明:

In [55]: (df.pivot_table(index='Name', columns='hour', values='var', 
    ....:     aggfunc='sum', fill_value=0) 
    ....:) 
Out[55]: 
hour 0 3 4 5 7 
Name 
Hue 0 6 0 2 0 
Kiz 3 0 1 0 0 
Nem 2 5 0 0 7 

OLD答案:

您可以使用seaborn模塊爲:

import seaborn as sns 

sns.barplot(x='Name', y='var', hue='hour', data=df, saturation=0.8) 

enter image description here

數據:

In [20]: df 
Out[20]: 
    Name hour var 
0 Nem  0 2 
1 Nem  3 5 
2 Kiz  4 1 
3 Hue  5 2 
4 Kiz  0 3 
5 Nem  7 7 
6 Hue  3 6 
+0

非常感謝您的回答。我想知道,是否有可能沒有'seaborn'做到這一點,並且可以按照我的意願爲每個名稱和不同顏色的酒吧做到這一點?例如,只看這個數字,我不確定'小時7'屬於'Kiz'還是'Nem'。 – Makaroni

+0

新的答案應該適合!非常感謝你! – Makaroni