2016-04-30 5 views
0

パンダの3つの列を視覚化する最良の方法を定義するのに役立つ人はいますか?私は積み重なった棒グラフを使ってみましたが、他のソルーションを探しましたが、何も働いていませんでした。どんな助けもありがとうございます。ここではダミーパンダのデータフレームである:3つの変数のパンダプロット

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

はあなたが積み上げ棒プロットが動作しない理由についての詳細を伝えることはできますか? –

+0

これは動作しますが、数字はデータフレームに約10000行あるため完全に圧縮されています。可能であれば、x軸に 'Name'変数、' time'で定義された色、変数 '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

答えに感謝します。私は疑問に思っていました。「シーボーン」なしでこれを行うことは可能ですか?それは名前と色ごとに1つのバーで意図した通りに行えますか?たとえば、この数字を見るだけで、「時間7」が「Kiz」または「Nem」に属しているかどうかはわかりません。 – Makaroni

+0

新しい回答が必要です!どうもありがとうございました! – Makaroni

関連する問題