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

Pandas按days_from_event绘时间序列分栏子图KeyError报错如何解决

报错原因
  • pandas的DataFrame.plot方法的x参数仅接收列名字符串,默认会自动把DataFrame的索引作为x轴取值,你手动传入了完整的时段索引对象,pandas会尝试在列中查找这些时段值,匹配失败就触发KeyError。
修复方案

方案1(推荐:子图标注天数更直观)

预处理时直接将days_from_event作为转置后的列名,后续绘图不需要额外指定列,子图会自动标注对应距离事件的天数:

# 保存距离事件天数作为子图标签
day_labels = df_mean_test['days_from_event'].astype(str).tolist()
# 提取时段列转置,设置列名为天数标签
df_plot = df_mean_test[['9am', '10am', '11am', '12pm', '1pm', '2pm', '3pm', '4pm']].transpose()
df_plot.columns = day_labels

# 绘图
df_plot.plot(
    kind='line',
    subplots=True,
    layout=(1,7),
    xlabel='session hours',
    ylabel='percent change',
    figsize=(22, 3),
    sharey=True
)

方案2(直接修复原代码)

删掉x参数即可,默认会将转置后的时段索引作为x轴:

df_mean_test.plot(
    y = ['0','1','2','3','4','5','6'], 
    kind = 'line', 
    subplots = True, 
    layout = (1,7), 
    xlabel = 'session hours', 
    ylabel = 'percent change'
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 21:27:01