如何对DataFrame实现任意n天时间窗口的重采样操作
pandas自定义固定时间长度重采样实现方法
你之前使用的按月维度重采样日度数据的写法是pandas的标准用法:
df = data.resample('M')
你猜测的resample('Days', 180)写法无法运行,pandas的resample方法不需要拆分传入时间单位和周期数值两个参数,直接在规则参数里传入「周期数值+时间单位缩写」格式的字符串,就能实现任意固定时间长度的重采样。
180天周期重采样的正确写法:
# 按180天为固定周期执行重采样 df = data.resample('180D')
常见自定义周期写法参考
- 自定义天级周期:单位用
D,例如7天周期写'7D'、90天周期写'90D' - 自定义小时级周期:单位用
H,例如4小时周期写'4H'、12小时周期写'12H' - 自定义周级周期:单位用
W,例如2周周期写'2W' - 自定义分钟级周期:单位用
T或min,例如15分钟周期写'15T'
如果需要调整周期的计算锚点,可以传入origin参数配置,比如要从时间序列最早一条记录的时间开始计算周期起点,写法如下:
df = data.resample('180D', origin='start')
内容的提问来源于stack exchange,提问作者Ivan
相关产品推荐
相关产品推荐

