python 將日期戳(五位數時間)轉換為標準時間
阿新 • • 發佈:2019-01-22
data and delta con panda blue important 轉化 col
5位數日期戳
讀取 .mat 文件處理裏面數據時,發現裏面的日期數據全部都是 “5位數” 數字,很不解;
後來查到可以在excel中通過設置單元格調回標準日期格式,如下:
選中日期戳,右鍵選擇 “格式化單元格(Format Cells)”
選擇需要的日期格式,點擊ok即可
通過代碼轉成標準日期
例如這個DataFrame中的日期,全部都是“日期戳”格式的,但我需要的是人能看懂的“標準日期”;
確認起始日期
首先需拿一個“日期戳”對應的時間(標準日期),減去這個日期戳,得出起始時間。
獲取起始時間:
2018-05-02 對應的日期戳為:43222,接下來通過pandas 的Timedelta() 和 to_datetime() 獲取起始時間。
可以看到起始日期為“1899-12-30”
這樣一來後續日期戳轉標準日期,只需要在 “1899-12-30” 的基礎上加 “日期戳”即可。
批量轉換
首先定義一個函數用來進行轉換:
#定義轉化日期戳的函數,stamp為日期戳 def date(stamp): delta = pd.Timedelta(str(stamp)+‘D‘) real_time= pd.to_datetime(‘1899-12-30‘) + delta return real_time
然後針對DataFrame 需要轉換的列進行轉換即可:
python 將日期戳(五位數時間)轉換為標準時間