天天看點

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)

部分參數含義如下:

  • rule:表示重采樣頻率的字元串或DateOffset,比如M、5min等
  • how:用于産生聚合值的函數名或函數數組,預設為None
  • fill_method:表示升采樣時如何插值,可以取值為fill、bfill或None,預設為None
  • closed:設定降采樣哪一端是閉合的,可以取值為right或left。若設為right,則表示劃分為左開右閉的區間;若設為left,則表示劃分為左閉右開的區間
  • label:表示降采樣時設定聚合值的标簽
  • convention:重采樣日期時,低頻轉高頻采用的約定,可以取值為start或end,預設為start
  • limit:表示前向或後向填充時,允許填充的最大時期數

接下來通過代碼示範:

建立一個時間序列類型的Series對象,代碼如下:

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           
Pandas中的重采樣方法—resample()

例子1:

time_ser.resample('W-MON',how='mean') #how參數不再建議使用

time_ser.resample('W-MON').mean() #時間戳索引為每周一,資料為每周求得的平均值           
Pandas中的重采樣方法—resample()

例子2 closed參數的使用:

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 為左閉右開           
Pandas中的重采樣方法—resample()

作者:今日頭條 KJ丶JK /CSDN-KJ.JK

繼續閱讀