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

2022-06-28 10:33:14 字數 2506 閱讀 9868

時間序列(time series)資料是一種重要的結構化資料形式,在多個時間點觀察或測量到得任何事物都可以形成一段時間序列,很多時間序列是固定頻率的。也就是說,資料點是根據某種規律定期出現的(比如15s、5min、1month)。時間序列也可以是不定期的。

時間序列的意義取決於具體的應用場景,主要有以下幾種:

pandas提供了一組標準的時間序列處理工具和資料演算法。

python標準庫包含用於日期(date)和時間(time)資料的資料型別,以及日曆方面的功能。

主要用到datetime、time以及calendar模組。

datetime庫官方說明:datetime --- 基本日期和時間型別 — python 3.10.0 文件

約定:from datetime import datetime

1 >>> from datetime import datetime

2 >>> now = datetime.now()

3 >>> now

4 datetime.datetime(2020, 2, 5, 10, 58, 59, 339099)

5 >>> now.year, now.month, now.day

6 (2020, 2, 5)

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

1 >>> delta = datetime(2011, 1, 7) - datetime(2011, 1, 6) 

2 >>> delta.days

3 14 >>> delta.seconds

5 06 >>>

可以給datetime物件加上(或減去)乙個或多個timedelta。

timedelta官方說明:datetime --- 基本日期和時間型別 — python 3.9.9 文件

1 >>> from datetime import timedelta

2 >>> start = datetime(2011, 1, 7)

3 >>> start + timedelta(12)

4 datetime.datetime(2011, 1, 19, 0, 0)

5 >>> start - 2 * timedelta(12)

6 datetime.datetime(2010, 12, 14, 0, 0)

datetime模組中的資料型別如下表所示:

型別說明

date

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

time

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

datetime

儲存日期和時間

timedelta

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

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

1 >>> stamp = datetime(2020, 2, 5) 

2 >>> str(stamp)

3 '2020-02-05 00:00:00'

4 >>> stamp.strftime('%y-%m-%d')

5 '2020-02-05'

下表是全部的格式化編碼,datatime.strptime可以用這些格式化編碼將字串轉換為日期:

**說明

%y4位數的年

%y2位數的年

%m2位數的月[01, 12]

%d2位數的日[01, 31]

%h時(24小時制)[00, 23]

%時(12小時制)[01, 12]

%m2位數的分[00, 59]

%s秒[00, 60](秒60和61用於閏秒)

%w用整數表示的星期幾[0(星期天), 6]

%u每年的第幾周[00, 53],星期天被認為是每週的第一天,每年第乙個星期天之前的那幾天被認為是「第0周」。

%w每年的第幾周[00, 53],星期一被認為是每週的第一天,每年第乙個星期一之前的那幾天被認為是「第0周」

%z以+hhmm或-hhmm表示的utc時區偏移量,如果時區為naïve,則返回空字串

%f%y-%m-%d簡寫形式,例如2012-4-18

%d%m/%d/%y簡寫形式,例如04/18/12

datetime物件還有一些特定於當前環境(位於不同國家或不同語言的系統)的格式化選項。如下表所示:

**說明

%a星期幾的簡寫

%a星期幾的全稱

%b月份的簡寫

%b月份的全稱

%c完整的日期和時間,例如「tue 01 may 2012 04:20:57 pm」

%p不同環境中的am或pm

%x適合於當前環境的日期格式

%x適用於當前環境的時間格式

日期和時間資料型別

日期和時間資料型別包括 datetime 和smalldatetime 兩種型別 日期和時間資料型別由有效的日期和時間組成。例如,有效的日期和時間資料報括 4 01 98 12 15 00 00 00 pm 和 1 28 29 15 01am 8 17 98 前乙個資料型別是日期在前,時間在後乙個資...

MySQL資料型別 日期時間

日談健康 2017 01 18 00 31 一 部落格前言 自接觸學習mysql已有一段時間了,對於mysql的基礎知識還是有一定的了解的。在這一路學習過來,每次不管看書還是網上看的資料,對於mysql資料型別中的時間日期型別總是一掃而過,不曾停下來認認真真的研究學習。最近在圖書館借了一本關於mys...

MySQL資料型別 日期時間

mysql中有多種表示時間日期的資料型別,主要有year time date datetime timestamp等。每一種資料型別都有儲存的時間日期格式 以及取值範圍,因此在使用時間日期資料型別的時候需要選取最佳的資料型別。下圖列出了幾種資料型別 year用於儲存年,儲存時只需要乙個位元組,插入資...