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

如何移除Pandas DataFrame中时间字符串的首尾零?

处理时间字符串的前导零和尾随零

可以用Pandas的字符串正则替换功能实现需求,分两步处理即可:

  1. 移除每个时间分量(时、分、秒)的前导零
  2. 移除秒分量的尾随零

具体代码如下:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'time_col': ['02:10:41', '09:19:22', '10:55:46', '30:64:50']
})

# 第一步:去掉时、分、秒的前导零(比如02→2,09→9,不影响10、30这类两位数)
df['Time'] = df['time_col'].str.replace(r'(^|:)0+(?=\d)', r'\1', regex=True)

# 第二步:去掉秒部分的尾随零(比如50→5,不影响41、22这类无末尾零的)
df['Time'] = df['Time'].str.replace(r'(?<=\d)0+$', '', regex=True)

print(df)

运行后输出结果:

time_col      Time
0  02:10:41   2:10:41
1  09:19:22   9:19:22
2  10:55:46  10:55:46
3  30:64:50   30:64:5

完全匹配你期望的输出。

补充说明

如果遇到秒分量是00的情况,上面的第二步会把它变成空字符串,导致结果格式变成xx:xx:,这时候可以再加一步处理:

# 处理秒为00的情况,补全为:0
df['Time'] = df['Time'].str.replace(r':$', ':0', regex=True)

这样就能保证时间格式始终完整。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 18:05:33