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

如何将带时区的日期列转换为13位timestamp时间戳

问题原因

Python内置的timestamp()方法默认返回秒级时间戳(共10位),而你需要的13位时间戳为毫秒级时间戳,二者相差1000倍的换算关系。

解决方案

方案1:直接修改现有代码

在timestamp()返回结果后乘以1000再转整数即可:

df['date_timestamp'] = df[['date']].apply(lambda x: int(x[0].timestamp() * 1000), axis=1)

方案2:高效矢量化实现(推荐)

逐行apply性能较低,数据量较大时建议使用pandas原生矢量化操作:

# 若date列尚未转换为datetime类型,先执行该行
df['date'] = pd.to_datetime(df['date'])
# 批量计算13位毫秒时间戳
df['date_timestamp'] = (df['date'].dt.timestamp() * 1000).astype(int)

效果验证

以你给出的示例日期2021-09-02 06:00:10.474000+00:00为例,转换后得到的13位时间戳为1630562410474,符合需求。

内容的提问来源于stack exchange,提问作者Diop Chopra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:27:02