pandas讀取csv檔案時,時間會自動顯示為『yyyy-mm-dd hh:mm:ss』的格式,那麼如果想要將這個時間轉換為unix時間戳呢?
先科普一下,什麼是 unix時間戳 呢?
unix時間戳 是一種時間表示方式,是乙個整型值,代表從格林威治時間2023年01月01日00時00分00秒起至現在經過的總秒數。
舉個栗子:
乙個值為1492751843的unix時間戳 ==>
把它轉換為 北京時間為2017/4/21 13:17:23
實際上,pandas中時間用 pandas.datetime() 轉換為 pandas.tslib.timestamp(時間戳) 格式之後,已經變成了整型儲存,即 unix時間戳形式 。
如果我們需要這個時間戳的整型格式,可以用time[0].value這個屬性把它提取出來。
樣例
>>> import pandas as pd # 匯入pandas庫
>>> data = pd.read_csv('airquality.csv') # 讀入資料檔案
>>> data.time = pd.to_datetime(data.time) # 將時間那一列從str轉換為時間戳格式
>>> type(data.time[0]) # 檢視轉換之後的格式
>>> data.time[0] # 檢視第一條資料,預設顯示為『yyyy-mm-dd hh:mm:ss』格式
timestamp('2014-05-01 00:00:00')
>>> data.time[0].value # 檢視第一條資料的unix時間戳格式
1398902400000000000l
>>> data.time[0].value//10**9 # 轉換為秒級
1398902400l
>>> t1 = [t.value for t in data.time] # 提取整列(納秒級,即1s = 1,000,000,000 ns)
>>> t1[:3] # 顯示前三條資料
[1398902400000000000l, 1398906000000000000l, 1398909600000000000l]
>>> t2 = [t.value//10**9 for t in data.time] # 提取整列(秒級)
>>> t2[:3] # 顯示前三條資料
[1398902400l, 1398906000l, 1398909600l]
>>> t1 = pd.datetimeindex(t1) # 從list列表轉換為pandas的datetimeindex格式
>>> t1[:3] # 顯示前三條資料
datetimeindex(['2014-05-01 00:00:00', '2014-05-01 01:00:00',
'2014-05-01 02:00:00'],
dtype='datetime64[ns]', freq=none)
>>> type(t1[0]) # 每條資料為timestamp格式
>>> t1[0].value
1398902400000000000l
Oracle修改預設時間格式
oracle修改預設時間格式 1.向 資料庫中插入當前時間 向oracle插入當前日期 使用sysdate 例 insert into table date value sysdate 插入的是系統時間和日期 時間精確到天 當前的時間格式是 oracle的預設時間格式 dd mon rr www.2...
Oracle修改預設時間格式
oracle修改預設時間格式 1.向資料庫中插入當前時間 向oracle插入當前日期 使用sysdate 例 insert into table date value sysdate 插入的是系統時間和日期 時間精確到天 當前的時間格式是oracle的預設時間格式 dd mon rr www.2ct...
mysql 預設時間
mysql 的日期型別如何設定當前時間為其預設值?答 請使用 timestamp 型別,且 預設值設為 now 或 current timestamp 還有可能啟用嚴格模式mysql 5.7 版本開始有了乙個 strict mode 嚴格模式 此模式中對預設值做了一些限制。限制00 00 00時間按...