1. 程式人生 > >python 將日期戳(五位數時間)轉換為標準時間

python 將日期戳(五位數時間)轉換為標準時間

data and delta con panda blue important 轉化 col

5位數日期戳

讀取 .mat 文件處理裏面數據時,發現裏面的日期數據全部都是 “5位數” 數字,很不解;

後來查到可以在excel中通過設置單元格調回標準日期格式,如下:

技術分享圖片

選中日期戳,右鍵選擇 “格式化單元格(Format Cells)”

技術分享圖片

選擇需要的日期格式,點擊ok即可

技術分享圖片

技術分享圖片

通過代碼轉成標準日期

例如這個DataFrame中的日期,全部都是“日期戳”格式的,但我需要的是人能看懂的“標準日期”;

技術分享圖片

確認起始日期

首先需拿一個“日期戳”對應的時間(標準日期),減去這個日期戳,得出起始時間。

獲取起始時間:

2018-05-02 對應的日期戳為:43222,接下來通過pandasTimedelta() 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 將日期戳(五位數時間)轉換為標準時間