gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 13:17:55 25 4
gpt4 key购买 nike

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

  Date
0 1569968699999
1 1569968700000
2 1569968759999
3 1569968760000
4 1569968819999

我尝试使用 .astype(int) 将数据转换为类型 'int' 甚至 'float' .astype(float) 分别与 pandas,然后除以 1000 得到 10 位/秒的数据,这显然会产生“无法将系列转换为类型‘float’”错误。

我理解为什么“除以 1000”选项仅适用于定义变量(如其他多个堆栈溢出帖子/问题所述)。

我也尝试过使用:

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

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

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

感谢任何帮助。谢谢。

最佳答案

也许这个可以帮助:

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

关于python - 使用 pandas 将 Unix 13 位数字转换为日期时间/时间戳格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58193274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com