2016-10-16 10 views
2

これは私のCSVファイルです。私はそれぞれのユニークなidの平均コストを求めます。対応するユニークID値からのパンダプロット平均値

ので、例えば:ID 1、平均コストは20

id,cost 
1,10 
1,20 
1,30 
2,40 
2,50 

私は右で出力を得なければなりません:

df.groupby(['id'])['cost'].mean() 
id 
1 20 
2 45 
Name: cost, dtype: int64 

しかし、私は、そのようなこと、x軸をプロットする方法を知りません平均値(20,45)としてid(1,2)およびy軸です。

以下のコードは、平均値をx軸(y軸にする必要があります)にし、y軸は1まで(2で、x軸にする必要があります)にします。

df.groupby(['id'])['cost'].mean().hist() 

enter image description here

+1

あなたは代わりに、ヒストグラムのバープロットを必要とします。私はすでに周波数を持っているので、 – Psidom

+0

ああ、意味をなさない。どうも! – jxn

答えて

1

Psidomさんのコメントのオフピギーバック...

df.groupby('id').mean().plot(kind='bar') 

enter image description here


In [108]: df 
Out[108]: 
    id cost 
0 1 10 
1 1 20 
2 1 30 
3 2 40 
4 2 50 
+0

あなたのdfが元のdfではないと仮定しますか? – jxn

+0

私のdfはあなたのdfだと仮定します。右? – lanery

+0

ああ、それはなぜあなたが列 'コスト'を指定する必要はありません不思議だった。 – jxn