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

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]')
    
    已采纳该答案
    1 打赏 评论