時間序列(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...