others - python - 將Unix 13位數字轉換為日期時間/時間戳格式

52 0

我有一個Pandas數據框,其中包含13-digit/毫秒數據,我試圖使用.datetime()'pd.Timestamp()轉換為可讀的日期和時間戳格式。


 Date


0 1569968699999


1 1569968700000


2 1569968759999


3 1569968760000


4 1569968819999



分別使用.astype(int)或.astype(float)將數據轉換為'int'或'float',然後分別用1000來獲得10-digit/秒數據,這產生了'cannot convert the series to type'float''的錯誤。

我還嘗試了:


df['Date'] = pd.to_datetime(df['Date'], unit='s')



或者


df['Date'] = pd.to_datetime(df['Date'], unit='ms')



但是第一個似乎在數據幀中增加了更多的數字,而第二個則返回一個'signed integer is greater than maximum'錯誤。

时间: 原作者:

118 3

像這個:


import pandas as pd


import numpy as np


import datetime


df=pd.DataFrame()


i=[1569968699999,1569968700000,1569968759999,1569968760000,1569968819999]



df['Date']=pd.Series(i)


df['Date'] = pd.to_datetime(df['Date'])


df.info() 


print(df)



輸出:


<class 'pandas.core.frame.DataFrame'>


RangeIndex: 5 entries, 0 to 4


Data columns (total 1 columns):


Date 5 non-null datetime64[ns]


dtypes: datetime64[ns](1)


memory usage: 120.0 bytes


 Date


0 1970-01-01 00:26:09.968699999


1 1970-01-01 00:26:09.968700000


2 1970-01-01 00:26:09.968759999


3 1970-01-01 00:26:09.968760000


4 1970-01-01 00:26:09.968819999



試試這個代碼時有沒有錯誤?

原作者:
...