python時間序列筆記1

2021-10-03 21:54:07 字數 2679 閱讀 5858

python標準庫的關於時間的庫主要有3個

datetime,time,calendar

python時間序列有三類:

1、時間戳 timestamp ,特定的時間

2、固定時期 period 就是乙個時間段,如:2023年1月或 2023年全年

3、時間間隔 interval ,由起始時間戳和結束時間戳表示,時期可以看看做是時間間隔的特例。

日期和時間資料型別及工具:

datetime類主要有如下類:

date:以公曆的形式儲存日曆日期(年、月、日)

datetime:儲存時間和日期

time:將時間儲存為時、分、秒、毫秒

timedelta:表示兩個datetime值之間的時間差值(日、秒、毫秒)

in [34]: from datetime import datetime

in [35]: now = datetime.now()

out[35]: datetime.datetime(2020, 3, 15, 12, 27, 34, 127223)

datetime的物件有year,month,day,hour,minute,second等屬性,使用者獲取datetime物件的年,月,日,時,分,秒

datetime庫中的timedelta物件為兩個datetime物件之間的時間差。

datetime庫中的datetime類的now()方法,返回當前時間的datetime物件,

delta = datetime.datetime(2011,11,20)-datetime.datetime(2011,11,1)

timedelta物件的計算:

import datetime

in [19]: start = datetime.datetime(2011,1,7)

in [20]: start+datetime.timedelta(12)

out[20]: datetime.datetime(2011, 1, 19, 0, 0)

in [21]: start + 2*datetime.timedelta(10)

out[21]: datetime.datetime(2011, 1, 27, 0, 0)

字串和datetime物件之間的互相轉換:

in [23]: stamp = datetime.datetime(2011,1,3)

in [24]: str(stamp)#直接將datetime物件轉換為

out[24]: '2011-01-03 00:00:00'

in [25]: stamp.strftime('%y-%m-%d')#按照特定格式轉換

out[25]: '2011-01-03'

datetime物件的strptime()將指定格式的str物件轉化為datetime物件

in [26]: s = stamp.strftime('%y-%m-%d')

in [27]: datetime.datetime.strptime(s,'%y-%m-%d')

out[27]: datetime.datetime(2011, 1, 3, 0, 0)

datetime格式定義如下:

%y4位數的年

%y2位數的年

%m2位數的月【01-12】

%d2位數的日【01-31】

%h時,24小時制【1-23】

%i時,12小時制【1-12】

%m2位數的分【00,59】

%s秒【00,59】

dateutil庫是乙個將常見字串轉換為datetime物件的第三方庫:

in [33]: from dateutil.parser import parse

in [34]: parse('2011-01-11')

out[34]: datetime.datetime(2011, 1, 11, 0, 0)

in [35]: parse('20110105')

out[35]: datetime.datetime(2011, 1, 5, 0, 0)

預設情況下時年/日/月格式,若存在年/月/日格式,可在parse方法的第二個引數使用dayfirst=true指定日在月前。

in [37]:  parse('2011/01/02')

out[37]: datetime.datetime(2011, 1, 2, 0, 0)

in [38]:  parse('2011/01/02',dayfirst = true)

out[38]: datetime.datetime(2011, 2, 1, 0, 0)

pandas有個一to_datetime()方法,可以將其他物件轉化為datetimeindex物件

import pandas as pd

in [40]: pd.to_datetime(['2011/01/13','2011/01/01'])

out[40]: datetimeindex(['2011-01-13', '2011-01-01'], dtype='datetime64[ns]', freq=none)

時間序列筆記(一)

因為這是筆記,也是自己認為比較重要的,後期會慢慢寫自己的總結,以及相關程式 r 本章主要介紹時間序列發展史!常用分析方法例 多元回歸 糧食中人口 光站 降雨 y a b1人口 b2光照 b3降雨 殘差 3 異方差 模型不同總體之間有相同的方程,三種之一任何一種都可能導致造成 統計模型失效,不然會使假...

Oracle序列筆記

create table src dis ks id integer primary key not null,caseid varchar2 100 not null,city varchar2 80 新增注釋 comment on table src dis ks 自受理工單 comment o...

時間序列學習筆記1

時間序列 或稱動態數列 是指將同一統計指標的數值按其發生的時間先後順序排列而成的數列。時間序列分析的主要目的是根據已有的歷史資料對未來進行 經濟資料中大多數以時間序列的形式給出。根據觀察時間的不同,時間序列中的時間可以是年份 季度 月份或其他任何時間形式。例如 北京市月度cpi同比資料。具體的定義去...