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



试试这个代码时有没有错误?

原作者:
...