在将时间序列重新采样为每月序列时,pandas会从每月的月初开始更改我的时间序列的初始日期。发件人:
2020-01-12 0.730439
2020-01-13 0.559328
...
2021-06-29 0.188461
2021-06-30 0.750668
收件人:
2020-01-01 8.613978
2020-02-01 14.614601
... ...
2021-05-01 11.936765
2021-06-01 13.758198
不是期望的结果,而是在第一个月份的日期是我的时间序列的第一个日期:
2020-01-12 8.613978
2020-02-01 14.614601
... ...
2021-05-01 11.936765
2021-06-01 13.758198
是否可以在不丢失初始日期的情况下进行每月重新采样?
目前,我会在之后进行更正。我问是否有一种动态的方法。我尝试使用所有resample
的参数均未达到期望的结果。我看过pd.Grouper
,但也没有成功。
谢谢你, 贡索
PS:复制问题的小脚本。
import pandas as pd
from numpy.random import random
index = pd.date_range('20200112', '20210630')
df = pd.Series(random(len(index)), index=index)
df.resample('MS').sum()
答案 0 :(得分:2)
您可以进行手动更新:
s = df.resample('MS').sum()
s.index = [df.index.min()] + list(s.index[1:])
输出:
2020-01-12 7.345615
2020-02-01 15.873136
2020-03-01 14.083565
2020-04-01 17.547765
2020-05-01 15.321236
2020-06-01 11.787999
2020-07-01 16.619211
2020-08-01 17.292133
2020-09-01 16.866571
2020-10-01 17.772687
2020-11-01 13.371602
2020-12-01 17.037126
2021-01-01 15.907105
2021-02-01 13.887159
2021-03-01 13.660123
2021-04-01 16.534306
2021-05-01 15.055836
2021-06-01 15.818617
dtype: float64
答案 1 :(得分:0)
尝试一下: df = df.close.resample('M')。sum()
或者,您可以在代码中将“ MS”更改为“ M”。