处理时间序列数据时,经常需要按照新的频率(更高频率、更低频率)对数据进行重新取样。你可以通过 resample()
方法解决这个
问题,或者用更简单的
asfreq()
方法。这两个方法的主要差异在于,
resample()
方法是以数据累计(data aggregation
)为基础,而
asfreq()
方法是以数据选择(data selection
)为基础。
在进行向前取样(up-sampling)时,
resample()
与
asfreq()
的用法大体相同,不过重新取样有许多种配置方式。操作时,两种方法都默认将向前取样作为缺失值处理,也就是说在里面填充
NaN
。
与 pd.fillna()
函数类似,
asfreq()
有一个method
参数可以设置填充缺失值的方式。
可以通过重新取样将数据转换成更大的颗粒度,
比如按日累计:
data.resample('D').sum()
比如按周累计:
data.resample('W').sum()
比如按月累计:
data.resample('M').sum()