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

如何去除DataFrame中日期时间的小数毫秒部分统一格式?

统一DataFrame日期时间格式的三种实用方法

针对你遇到的部分日期带毫秒、部分不带的情况,给你三种简单可行的解决办法:

  • 方法一:转为datetime类型后格式化(最稳妥)
    先利用pandas的pd.to_datetime自动解析两种格式,转成标准的datetime对象,再用strftime指定输出格式,直接去掉毫秒部分:

    import pandas as pd
    
    # 假设日期列名为'datetime_col',DataFrame为df
    df['datetime_col'] = pd.to_datetime(df['datetime_col']).dt.strftime('%Y-%m-%d %H:%M:%S')
    

    这个方法能兼容各种合法的日期字符串格式,不用担心格式异常问题。

  • 方法二:字符串直接切片(最快)
    如果你能确定所有日期字符串的前19位都是YYYY-MM-DD HH:MM:SS格式,直接截取前19个字符即可:

    df['datetime_col'] = df['datetime_col'].str[:19]
    

    操作简单高效,但要确保所有数据的字符串长度都足够,避免出现截取不全的问题。

  • 方法三:正则表达式替换(最灵活)
    用正则匹配小数点后的毫秒部分,直接替换为空字符串,不管毫秒有几位都能处理:

    df['datetime_col'] = df['datetime_col'].str.replace(r'\.\d+', '', regex=True)
    

    适合毫秒位数不固定的场景,比如有的是3位、有的是6位的情况。

内容的提问来源于stack exchange,提问作者BENJAMÍN IBÁÑEZ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 23:19:59