Pandas 根据相应的唯一 id 值绘制平均值

jxn*_*jxn 3 python plot matplotlib pandas

这是我的 csv 文件。我想找到每个唯一 ID 的平均成本。

例如:id 1,平均成本应为 20。

id,cost
1,10 
1,20
1,30
2,40
2,50
Run Code Online (Sandbox Code Playgroud)

我得到了正确的输出:

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

但我不知道如何绘制 x 轴为 id (1,2) 和 y 轴为平均值 (20,45) 的图。

下面的代码使平均值成为 x 轴(应该在 y 轴上),而 y 轴仅到 1(应该是 2 并且应该是 x 轴)。

df.groupby(['id'])['cost'].mean().hist()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

lan*_*ery 5

借鉴 Psidom 的评论......

df.groupby('id').mean().plot(kind='bar')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


In [108]: df
Out[108]: 
   id  cost
0   1    10
1   1    20
2   1    30
3   2    40
4   2    50
Run Code Online (Sandbox Code Playgroud)