Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用pandas将Unix 13位数字转换为日期时间/时间戳格式_Python_Python 3.x_Pandas_Datetime_Unix Timestamp - Fatal编程技术网

Python 使用pandas将Unix 13位数字转换为日期时间/时间戳格式

Python 使用pandas将Unix 13位数字转换为日期时间/时间戳格式,python,python-3.x,pandas,datetime,unix-timestamp,Python,Python 3.x,Pandas,Datetime,Unix Timestamp,我有一个pandas数据框,包含13位/毫秒的数据,如下所示,我正在尝试使用.datetime()或'pd.timestamp()将其转换为清晰的日期和时间戳格式,这两种格式似乎都需要10位/秒的数据 Date 0 1569968699999 1 1569968700000 2 1569968759999 3 1569968760000 4 1569968819999 我曾尝试分别使用.astype(int)或.astype(float)和pandas将数据转换为类型'int',然后除以1

我有一个pandas数据框,包含13位/毫秒的数据,如下所示,我正在尝试使用
.datetime()
'pd.timestamp()
将其转换为清晰的日期和时间戳格式,这两种格式似乎都需要10位/秒的数据

  Date
0 1569968699999
1 1569968700000
2 1569968759999
3 1569968760000
4 1569968819999
我曾尝试分别使用
.astype(int)
.astype(float)
和pandas将数据转换为类型
'int'
,然后除以1000得到10位/秒的数据,这显然会产生一个“无法将序列转换为类型”float”错误

我理解为什么“除以1000”选项只能用于定义变量(如其他多篇堆栈溢出文章/问题所述)

我还尝试使用:

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

但是,第一个似乎向数据帧添加了更多的数字,第二个返回“有符号整数大于最大值”错误


谢谢你的帮助。谢谢。

也许这本书能帮上忙:

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']=df['date'].apply(lambda d: datetime.datetime.fromtimestamp(int(d)/1000).strftime('%Y-%m-%d %H:%M:%S'))
输出:

                  date
0  2019-10-02 01:24:59
1  2019-10-02 01:25:00
2  2019-10-02 01:25:59
3  2019-10-02 01:26:00
4  2019-10-02 01:26:59

你的第二次尝试对我来说效果很好。df['Date']=pd.to_datetime(df['Date'],unit='ms')对我也很好。这篇文章缺少什么吗?你得到的['Date']输出格式是:YYYY-MM-DD HH:MM:SS吗?这使得df['Date']中的所有整数都等于0。
                  date
0  2019-10-02 01:24:59
1  2019-10-02 01:25:00
2  2019-10-02 01:25:59
3  2019-10-02 01:26:00
4  2019-10-02 01:26:59