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

如何基于Pandas多级索引DataFrame绘制柱状图并处理timestamp索引

第一步:修正DataFrame结构处理逻辑

你之前删除timestamp相关内容失败,是因为误将行索引属性当做了普通列处理,先执行以下代码确认索引结构:

# 打印索引信息确认层级
print(data.index.names)

如果打印结果显示索引名是timestamp,说明你只有单层行索引,不需要用droplevel,直接按你的需求取数即可:

  • 如果你只需要展示单个时间点的所有列数据,直接取对应行转为Series:
# 示例取06:54:00这个时间点的数据
target_data = data.loc["06:54:00"]
  • 如果你需要展示所有时间点的列数据对比,直接转置DataFrame:
trans_data = data.T

小提示:drop(['timestamp'], axis=1)是删除指定列,timestamp是行索引属性,肯定找不到对应字段;droplevel仅适用于多级索引场景,单层索引调用不会生效。


第二步:修正绘图代码

你之前的代码参数与数据结构不匹配,对应修改如下:

用pandas原生plot绘图

# 单时间点绘图
p = target_data.plot(kind='bar', title="Data", figsize=(15, 10), legend=True, fontsize=12)
# 多时间点对比绘图
p = trans_data.plot(kind='bar', title="Data", figsize=(15, 10), legend=True, fontsize=12)

用hvplot绘图

# 先将Series转为带列名的DataFrame
hv_data = target_data.reset_index()
hv_data.columns = ["Data", "Units"]
p = hv_data.hvplot.bar(x = 'Data', y = 'Units', rot = 90)

内容的提问来源于stack exchange,提问作者Sara.SP92

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:24:02