Pandas中的重采样方法—resample()

Pandas中的resample()是一个对常规时间序列数据重新采样和频率转换的便捷的方法,可以对原样本重新处理,其语法格式如下:
resample(rule,how=None,axis=0,fill_method=None,closed=None,label=None,convention=“start”,kind=None,loffset=None,limit=None,base=0,on=None,level=None)

部分参数含义如下:

  1. rule:表示重采样频率的字符串或DateOffset,比如M、5min等。
  2. how:用于产生聚合值的函数名或函数数组,默认为None。
  3. fill_method:表示升采样时如何插值,可以取值为fill、bfill或None,默认为None。
  4. closed:设置降采样哪一端是闭合的,可以取值为right或left。若设为right,则表示划分为左开右闭的区间;若设为left,则表示划分为左闭右开的区间。
  5. label:表示降采样时设置聚合值的标签。
  6. convention:重采样日期时,低频转高频采用的约定,可以取值为start或end,默认为start。
  7. limit:表示前向或后向填充时,允许填充的最大时期数。

接下来通过代码演示:

创建一个时间序列类型的Series对象,代码如下:

在这里插入图片描述

1
2
3
4
5
import numpy as np
import pandas as pd
date_index=pd.date_range('2020-07-02',periods=30)
time_ser=pd.Series(np.arange(30),index=date_index)
time_ser

例子1:

在这里插入图片描述

1
2
3
time_ser.resample('W-MON',how='mean')       #how参数不再建议使用

time_ser.resample('W-MON').mean()   #时间戳索引为每周一,数据为每周求得的平均值

例子2 closed参数的使用:

在这里插入图片描述

1
2
3
4
5
time_ser.resample('W-MON',closed=None).mean()   # closed参数表示设置哪一端是闭合的,right为左开右闭,left为左闭右开,默认为None

time_ser.resample('W-MON',closed='right').mean()     # right 为左开右闭

time_ser.resample('W-MON',closed='left').mean()      #left 为左闭右开

作者:KJ.JK
本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star 呀,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习呀