三分鐘告訴你 1575119387982 是什麼?

  • 2019 年 12 月 20 日
  • 筆記

Pandas 百問百答第 006 篇。

標籤:時間序列,to_datetime

呆鳥云:「昨天朋友給了我一串數字,如下所示:

1575119387982 1575119687867 1575212636675

說這個是資料庫里字元串格式的時間戳,在網上找了兩個小時沒找到轉為正常日期的解決方案,呆鳥一看就樂了,這不就是剛發的《Pandas 時間序列》系列文章里寫過的紀元型時間戳嗎?呆鳥自信滿滿地回復,一分鐘就搞定給你。」

於是,呆鳥照抄原文程式碼:

然而,(O_o)??,蝦米,居然報錯?!!!

不能用 『s』 轉換?一分鐘已經過去了。。。-_-||,這是咋回事?你不換我換!

unit='s' 換成 unit='ns',也就是把時間單位從秒換成納秒看下。這次可以了。

呆鳥興沖沖發給哥們,你看,簡單吧,一分半就搞定了。哥們看了以後有點懵b,說真快啊,呆鳥開始自賣自誇,你看,我的文章你要好好看,哪裡還用兩個小時,一分鐘就夠了。結果,哥們給我回一句,問題是 1970 年是咋回事?那會我還沒生呢啊,我們公司也沒開呢,怎麼會有這個時間的數據?

(O_o)?? 這次輪到呆鳥懵b了,這也不對?再來。。。把納秒換成毫秒試試。

這次再一看,哦,原來是 2019 年 11 月 30 日 的,這次靠譜了。嘎~嘎~嘎~

哥們又說,你這才一個啊,我這還有很多呢。於是,呆鳥又給弄了個 list,這樣就可以解析很多數據了。

哥們又說,我這個是 Pandas 的 DataFrame 啊,呆鳥。。。,不管了,自己研究去,哼哼。

不過,對於各位讀者大大,呆鳥自然會全盤奉上。

程式碼如下:

import pandas as pd    epoch = [1575119387982,1575119687867,1575212636675]  data = pd.DataFrame(epoch,columns=['Epoch'])    data['date'] = pd.to_datetime(data.Epoch, unit='ms')  data  

全下來一共三分鐘,其實一分鐘也可以啊,好啦,以後,各位再看到這樣的長數字紀元型時間戳就別懵了啊。另外,一定要好好學習時間序列啊,這可是數據分析的根本。

本篇分享程式碼不多,諸君一定要手撕下程式碼哦。