pandas之時間序列(data_range)、重采樣(resample)、重組時間序列(PeriodIndex)


1、data_range生成時間范圍

a) pd.date_range(start=None, end=None, periods=None, freq='D')
    start和end以及freq配合能夠生成start和end范圍內以頻率freq的一組時間索引
    start和periods以及freq配合能夠生成從start開始的頻率為freq的periods個時間索引
  
    freq可選擇:
      

  b)將時間字符串轉為時間序列  

    使用pandas提供的方法把時間字符串轉化為時間序列

    df["timeStamp"] = pd.to_datetime(df["timeStamp"],format=""),其中format參數大部分情況下可以不用寫

  c)DataFrame中使用時間序列   

    index=pd.date_range("20170101",periods=10) #生成時間序列

    df = pd.DataFrame(np.random.rand(10),index=index) #將時間序列指定為index

 2、重采樣

重采樣:指的是將時間序列從一個頻率轉化為另一個頻率進行處理的過程,將高頻率數據轉化為低頻率數據為降采樣,低頻率轉化為高頻率為升采樣
pandas提供了一個resample的方法來幫助我們實現頻率轉化

使用案例:
  

 3、重組時間序列:主要將數據中的分離的時間字段,重組為時間序列,並指定為index

#把分開的時間字符串通過periodIndex的方法轉化為pandas的時間類型
period = pd.PeriodIndex(year=df["year"],month=df["month"],day=df["day"],hour=df["hour"],freq="H")
print(period)
df["datetime"] = period

#把datetime 設置為索引
df.set_index("datetime",inplace=True)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM