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

Pandas中如何基于重采样后的DataFrame绘制Date与Weekly_Sales对比图?

解决Pandas重采样后绘图找不到Date列的问题

嘿,我懂你的困扰!你用resample把周度数据转成月度数据后,Date已经不是独立的列了——它变成了这个DataFrame的索引,这就是你没法直接调用q['Date']来绘图的原因。咱们用两种简单方法解决:

方法1:重置索引,让Date变回普通列

直接调用reset_index()就能把索引转成列,这样你就可以像操作普通列一样用它绘图了:

# 重置索引,将Date转为普通列
q = q.reset_index()

# 绘图示例(用matplotlib)
import matplotlib.pyplot as plt

plt.figure(figsize=(10, 6))
plt.plot(q['Date'], q['Weekly_Sales'], marker='o', color='teal')
plt.xlabel('Month')
plt.ylabel('Total Monthly Sales')
plt.title('Monthly Sales Trend (2010)')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

方法2:直接使用索引作为x轴(无需重置)

既然重采样后的索引本身就是日期类型,Pandas和matplotlib都能直接识别它,你可以不用重置索引,直接指定用索引作为x轴:

# 用Pandas自带的绘图方法,自动用索引当x轴
q.plot(y='Weekly_Sales', figsize=(10, 6), marker='o', color='teal')
plt.xlabel('Month')
plt.ylabel('Total Monthly Sales')
plt.title('Monthly Sales Trend (2010)')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

补充说明

你看q.head()的输出格式,第一行的Date其实是索引的名称,不是列名——原来的Date列在resample时被用来分组,默认就成了结果的索引。用上面两种方法任意一种,都能顺利画出Date和Weekly_Sales的趋势图啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:08:35