Groupby 两列和条形图第三列 pandas
Groupby two columns and bar plot third column pandas
我有一个数据框如下,我想通过对模型和调度程序列进行分组来绘制多个条形图。例如第一个你的多个条属于 ecaresnet50t 三个不同的调度程序并代表 mae 分数。第二个三个倍数代表resnest50d scheduler的mae等等
model scheduler mae
0 ecaresnet50t warm 4.518
1 ecaresnet50t cosine 4.46
2 ecaresnet50t constant 4.972
3 resnest50d warm 4.056
4 resnest50d cosine 4.1
5 resnest50d constant 5.072
6 resnetrs50 warm 4.164
7 resnetrs50 cosine 4.154
8 resnetrs50 constant 4.644
9 seresnet50 warm 4.202
我试过这样的事情
(df.groupby(['model','scheduler'])['mae'].plot.bar())
但它不起作用
使用支点table。它们正是您正在寻找的,并且在这种情况下比多索引 groupby 更容易使用。
df_pivot = pd.pivot_table(df,
values="mae",
index="model",
columns="scheduler",
aggfunc=np.mean)
df_pivot.plot.bar()
我有一个数据框如下,我想通过对模型和调度程序列进行分组来绘制多个条形图。例如第一个你的多个条属于 ecaresnet50t 三个不同的调度程序并代表 mae 分数。第二个三个倍数代表resnest50d scheduler的mae等等
model scheduler mae
0 ecaresnet50t warm 4.518
1 ecaresnet50t cosine 4.46
2 ecaresnet50t constant 4.972
3 resnest50d warm 4.056
4 resnest50d cosine 4.1
5 resnest50d constant 5.072
6 resnetrs50 warm 4.164
7 resnetrs50 cosine 4.154
8 resnetrs50 constant 4.644
9 seresnet50 warm 4.202
我试过这样的事情
(df.groupby(['model','scheduler'])['mae'].plot.bar())
但它不起作用
使用支点table。它们正是您正在寻找的,并且在这种情况下比多索引 groupby 更容易使用。
df_pivot = pd.pivot_table(df,
values="mae",
index="model",
columns="scheduler",
aggfunc=np.mean)
df_pivot.plot.bar()