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

如何修改DataFrame中时间列的毫秒显示精度

实现方法

以下针对两种常见的数据存储场景给出可直接运行的方案:

场景1:时间列已为datetime/timedelta类型

如果你的列已经经过时间类型转换,可以先做精度舍入,再格式化输出:

import pandas as pd

# 示例数据构造
df = pd.DataFrame({'time_col': pd.to_timedelta(['05:20:45.154', '12:34:56.789'])})

# 先将时间精度四舍五入到0.1秒,再格式化输出
df['time_col'] = pd.to_timedelta(
    (df['time_col'].dt.total_seconds() * 10).round() / 10, 
    unit='s'
).dt.strftime('%H:%M:%S.%f').str[:-5]

代码中%f会输出6位微秒,用str[:-5]截取前1位即可得到单精度毫秒的效果。

场景2:时间列为字符串类型

如果当前列还存储为字符串格式,可以直接做字符串分割处理,也可以先转时间类型再用场景1的方案处理:

# 示例字符串类型数据构造
df = pd.DataFrame({'time_col': ['05:20:45.154', '12:34:56.789']})

# 直接字符串处理实现四舍五入保留1位毫秒
def format_time_str(s):
    time_main, ms_part = s.split('.')
    ms_rounded = round(int(ms_part)/100)
    return f"{time_main}.{ms_rounded}"

df['time_col'] = df['time_col'].apply(format_time_str)

内容的提问来源于stack exchange,提问作者Arcturus Ranger

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 09:39:02