You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何绘制按日期聚合后的Pandas DataFrame柱状图

解决聚合后绘制柱状图的问题

嘿,我明白你遇到的问题了——因为用groupby聚合后,date变成了DataFrame的索引,不再是普通的列,所以你直接用x='date'会找不到这列,这就是报错的根源。下面给你几种简单的解决办法:

方法一:聚合时保留date为列

修改你的聚合代码,加上as_index=False参数,这样date就会保持为普通列,而不是索引:

df_daily = df.groupby('date', as_index=False).agg(['sum'])
# 现在可以直接调用plot,注意y轴要指定完整的层级列名
df_daily.plot(x='date', y=('payout_value', 'sum'), kind="bar")

方法二:重置已聚合DataFrame的索引

如果你已经生成了df_daily(此时date是索引),可以把索引转换为普通列后再绘图:

# 将索引转为普通列
df_daily.reset_index(inplace=True)
# 执行绘图操作
df_daily.plot(x='date', y=('payout_value', 'sum'), kind="bar")

方法三:直接用索引作为X轴

因为date已经是DataFrame的索引,你可以不用手动指定x参数,matplotlib会自动把索引当作X轴:

df_daily.plot(y=('payout_value', 'sum'), kind="bar")

最后别忘了导入matplotlib并显示图表:

import matplotlib.pyplot as plt
plt.show()

内容的提问来源于stack exchange,提问作者user40

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:03:21