yousensei 2021-08-09 21:52 采纳率: 100%
浏览 43
已结题

python pandas的时间序列重采样怎么引用一年12个月而不是变成13个月?

我刚接触python不久 最近学时间序列有这个困惑

# 时期重采样 - Period

prng = pd.period_range('2016','2017',freq = 'M')
ts = pd.Series(np.arange(len(prng)), index = prng)
print(ts)

print(ts.resample('3M').sum())  
print(ts.resample('15D').ffill())  


如上,ts的结果是2016年1月到2017年1月 一共十三个月,我降采样是想把16年的变成一季度一次,但是17年一月不知道怎么处理,运行起来会报错,有什么方法让输入数据的时候就没有17年1月吗

  • 写回答

1条回答 默认 最新

  • 江天暮雪丨 2021-08-10 10:09
    关注
    prng = pd.period_range('2016-1','2016-12',freq = 'M')
    ts = pd.Series(np.arange(len(prng)), index = prng)
    
    # 此外,在重采样之前,应该更改 PeriodIndex 为 DateTimeIndex
    ts.index = ts.index.astype('datetime64[ns]')
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月19日
  • 已采纳回答 8月11日
  • 创建了问题 8月9日