pandas 時間序列基礎

2021-09-27 08:32:53 字數 1782 閱讀 5747

時間序列(time series)資料是一種重要的結構化資料形式。資料點是根據某種規律定期出現的(比如每15秒、每5分鐘、每月出現一次)。

時間序列也可以是不定期的,沒有固定的時間單位或單位之間的偏移量。時間序列資料的意義取決於具體的應用場景。

python標準庫包含用於日期(date)和時間(time)資料的資料型別,如:datetime、time以及calendar模組。

其中,datetime以毫秒形式儲存日期和時間。timedelta表示兩個datetime物件之間的時間差。

datetime模組中的資料型別

字串和datetime的相互轉換

利用str或strftime方法(傳入乙個格式化字串),datetime物件和pandas的timestamp物件(稍後就會介紹)可以被格式化為字串。

datetime.strptime可以用這些格式化編碼將字串轉換為日期

datetime.strptime是通過已知格式進行日期解析的最佳方式。但是每次都要編寫格式定義是很麻煩的事情,尤其是對於一些常見的日期格式。這種情況下,你可以用dateutil這個第三方包中的parser.parse方法。dateutil可以解析幾乎所有人類能夠理解的日期表示形式

from dateutil.parser import parse

parse(

'2011-01-03'

)# datetime.datetime(2011, 1, 3, 0, 0)

parse(

'jan 31, 1997 10:45 pm'

)# datetime.datetime(1997, 1, 31, 22, 45)

parse(

'6/12/2011'

, dayfirst=

true

)# datetime.datetime(2011, 12, 6, 0, 0)

pandas最基本的時間序列型別就是以時間戳(通常以python字串或datatime物件表示)為索引的series。

# dates為python字串或datatime物件

ts = pd.series(np.random.randn(6)

, index=dates)

基本的時間序列頻率

pandas中的原生時間序列一般被認為是不規則的,也就是說,它們沒有固定的頻率。

但是,pandas有一整套標準時間序列頻率以及用於重取樣、頻率推斷、生成固定頻率日期範圍的工具。例如,我們可以將之前那個時間序列轉換為乙個具有固定頻率(每日)的時間序列,只需呼叫resample即可

resample重取樣

pandas時間序列

import pandas as pd import numpy as np import datetimedf pd.dataframe df 將時間序列轉化為標準的年月日的形式 df date pd.to datetime df date df 生成定頻日期與時間段序列 dt pd.date r...

pandas之時間序列

pandas中提供了許多用來處理時間格式文字的方法,包括按不同方法生成乙個時間序列,修改時間的格式,重取樣等等。in 7 import pandas as pd 按起始和終止日期以及步長生成時間序列 in 8 pd.date range start 20171212 end 20180101 fre...

pandas 時間序列滑動視窗

比如如下 lambda 函式實現了計算視窗內的平均絕對誤差 e x e x e x e x e x e x df.rolling window 10 lambda x np.fabs x x.mean mean raw true plot subplots true raw true 表示 lamb...