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

如何在Pandas中为DataFrame添加无毫秒的合成时间戳以适配Quicksight格式要求

去除Pandas时间戳中的毫秒,适配Quicksight格式转换

嘿,刚好碰到过类似的需求,给你几个简单靠谱的解决办法,保证处理后的时间戳没有毫秒残留,方便后续在Quicksight里转成目标格式:

方法1:生成后直接向下取整到秒

这是最直接高效的方式,利用Pandas的floor方法把时间戳统一取整到最近的秒,彻底去掉毫秒:

from datetime import datetime
import pandas as pd

# 先生成匹配DataFrame行数的时间序列
date_rng = pd.date_range(start='1/1/2020', end='1/21/2020', periods=len(df))
# 去掉毫秒,保留到秒级精度
date_rng = date_rng.floor('S')

如果你的场景需要向上取整或者四舍五入,把floor('S')换成ceil('S')或者round('S')就行。

方法2:字符串转译强制去除毫秒

要是你担心还有隐藏的毫秒信息,可以先把时间序列转成不带毫秒的字符串,再转回datetime类型,从根源上杜绝毫秒:

# 先转成"%Y-%m-%d %H:%M:%S"格式的字符串,再转回时间戳
date_rng = pd.to_datetime(date_rng.strftime('%Y-%m-%d %H:%M:%S'))

方法3:添加DataFrame列时一步到位

如果你是要直接把这个处理好的时间戳作为新列加入DataFrame,可以合并成一行代码,更简洁:

import pandas as pd

df['timestamp'] = pd.date_range(start='1/1/2020', end='1/21/2020', periods=len(df)).floor('S')

这样处理后的时间戳就完全没有毫秒部分了,后续在Quicksight里转换为Jan 1, 1400 00:00:00格式时就不会有多余的干扰啦。

内容的提问来源于stack exchange,提问作者Itzy Death

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 08:53:12