You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas转换Unix时间戳与实际时间不符的问题排查

解决Pandas解析微秒级Unix时间戳错误的问题

问题分析

你的时间戳是微秒级的Unix时间戳(16位数字),但之前的代码既未指定时间戳单位,还错误使用了dayfirst=True参数(该参数仅针对字符串格式的日期,对数字时间戳无效),导致Pandas误将其解析为纳秒级时间,最终得到1970年的错误日期;同时大数值可能因类型溢出报错。

解决方案

方法1:指定unit='us'(推荐)

直接告知Pandas时间戳的单位是微秒,同时确保数据为整数类型:

# 若date列为字符串类型,先转为整数
df["date"] = pd.to_datetime(df["date"].astype(int), unit='us')

如果date列已经是数值类型,可简化为:

df["date"] = pd.to_datetime(df["date"], unit='us')

方法2:手动转换为秒级时间戳

将微秒级时间戳除以1e6转为秒级,再用unit='s'解析:

df["date"] = pd.to_datetime(df["date"].astype(int) / 1e6, unit='s')

验证结果

执行上述代码后,第一条时间戳1680524178283156会被正确解析为2023-04-03 12:16:18.283156(UTC时间),与你查询到的真实时间一致。

内容的提问来源于stack exchange,提问作者Niraj D Pandey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 16:04:53