如何将月度时间序列转为季度序列?提取日期列月份并筛选指定月份
解决月度转季度时间序列的问题
嗨,我来帮你搞定这个需求!咱们分两步走:先从日期列提取月份信息,再筛选出你需要的1、4、7、10月数据,轻松得到每年4个季度的时间序列。
第一步:从日期列提取月份信息
既然你的日期列已经转成了Pandas的日期格式(datetime64类型),那提取月份超级简单——用.dt.month属性就行,它会返回一个整数列(1到12),代表每个日期对应的月份。
示例代码:
# 假设你的日期列名叫'date',新增一列存储月份 df['month'] = df['date'].dt.month
这样你就能直观看到每一行对应的月份,方便后续筛选。
第二步:筛选1、4、7、10月的数据
要保留每年的这四个月份,直接用isin()方法匹配目标月份列表就行,一步就能过滤出你要的季度数据。
示例代码:
# 筛选出月份为1、4、7、10的行 df_quarterly = df[df['date'].dt.month.isin([1, 4, 7, 10])]
运行完这段代码后,df_quarterly里就只保留了每年1月、4月、7月、10月的数据,正好是你需要的季度时间序列啦!
额外小提示
如果你的日期列已经设置为DataFrame的索引(DatetimeIndex),也可以用resample('QS')来按季度起始频率筛选,但上面的isin()方法更直接,完全匹配你要保留特定月份的需求。
内容的提问来源于stack exchange,提问作者Niccola Tartaglia
相关产品推荐
相关产品推荐

