python百分比堆积条形图_python - 使用groupby命令从数据框列表中堆积的条形图 - SO中文参考 - www.soinside.com...

我希望使用groupby.size命令从结果中创建一个(2x3)堆叠的条形图子图,让我解释一下。我有一个数据帧列表:list_df = [df_2011, df_2012, df_2013, df_2014, df_2015, df_2016]。这些df的一个小例子是:Beat Priority

06X 1.0

07X 1.0

10Y 2.0

.

.

.

我正在使用groupby.size命令来获取这些数据库所需的事件计数,请参见下文:list_df = [df_2011, df_2012, df_2013, df_2014, df_2015, df_2016]

for i in list_df:

print(i.groupby(['Beat', 'Priority']).size())

print(' ')

生产中:Beat Priority

01X 1.0 394

2.0 1816

02X 1.0 644

2.0 1970

02Y 1.0 661

2.0 2309

03X 1.0 857

2.0 2962

.

.

.

我想使用beat列确定哪个是前10个总计。所以例如以上总计是:Beat Priority Total for Beat

01X 1.0 394

2.0 1816 2210

02Y 1.0 661

2.0 2309 2970

03X 1.0 857

2.0 2962 3819

.

.

.

[到目前为止,我已经在plot上使用了groupby.size,但是它没有像我上面描述的那样进行汇总。请查看以下内容:list_df = [df_2011, df_2012, df_2013, df_2014, df_2015, df_2016]

fig, axes = plt.subplots(2, 3)

for d, i in zip(list_df, range(6)):

ax = axes.ravel()[i];

d.groupby(['Beat', 'Priority']).size().nlargest(10).plot(ax=ax, kind='bar', figsize=(15, 7), stacked=True, legend=True)

ax.set_title(f"Top 10 Beats for {i+ 2011}")

plt.tight_layout()

eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9aYkhzbS5wbmcifQ==

我希望具有2x3子图布局,但是我以前做过这样的堆叠式条形图:

eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9ZWG1hVC5wbmcifQ==

谢谢。这比我想象的要难!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值