1. 程式人生 > 程式設計 >pandas實現將日期轉換成timestamp

pandas實現將日期轉換成timestamp

OUTLINE

常見的時間字串與timestamp之間的轉換

日期與timestamp之間的轉換

常見的時間字串與timestamp之間的轉換

這裡說的字串不是一般意義上的字串,是指在讀取日期型別的資料時,如果還沒有及時解析字串,它就還不是日期型別,那麼此時的字串該怎麼與時間戳之間進行轉換呢?

① 時間字串轉化成時間戳

將時間字串轉化成時間戳分為兩步:

第一步:將時間字串轉換成時間元組

第二步:將時間元組轉換成時間戳型別

import time
data['timestamp'] = data['OCC_TIM'].apply(lambda x:time.mktime(time.strptime(x,'%Y-%m-%d %H:%M:%S')))

其中,strptime函式是將字串按照後面的格式轉換成時間元組型別;mktime函式則是將時間元組轉換成時間戳。記住這兩個常用函式。

② 將時間戳轉換成可讀字串

第一步:用localtime將時間戳轉換成local_time,時間元組

第二步:用strftime將local_time轉換成可讀字串

timestamp = 1.521708e+09
time_local = time.localtime(timestamp)
time_local
# 輸出:
# time.struct_time(tm_year=2018,tm_mon=3,tm_mday=22,tm_hour=16,tm_min=40,tm_sec=0,tm_wday=3,tm_yday=81,tm_isdst=0)

time.strftime('%Y/%m/%d %H:%M:%S',time_local)
# 輸出:
# '2018/03/22 16:40:00'

日期與timestamp之間的轉換

但是如果,你在讀取資料的時候已經用了parse_dates這個引數,將可讀的字串換成了日期格式。那如何將日期轉換成timestamp?

那麼我們應該想的是如何將日期轉換成時間元組!

import time
data['timestamp'] = data['OCC_TIM'].apply(lambda x:time.mktime(x.timetuple())) # 所以最重要的是 日期.timetuple() 這個用法 通過它將日期轉換成時間元組
data.head(10)
# 輸出:

發現這跟上面的結果是一樣的!

以上這篇pandas實現將日期轉換成timestamp就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。