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

Pandas多格式时间字符串处理:去毫秒转统一datetime格式

解决Pandas多格式日期转换与去毫秒问题

你的核心问题是原日期字符串格式不统一,再加上代码里的变量名错误,导致转换失败。直接用pd.to_datetime就能自动识别你提到的三种格式,再配合时间取整就能去掉毫秒,同时保留datetime类型方便排序。

正确步骤与代码:

  1. 统一转为datetime类型并去除毫秒
    用pd.to_datetime自动解析所有格式,再用dt.floor('S')把时间截断到秒(直接去掉毫秒部分),结果依然是datetime类型,完全满足排序需求:

    import pandas as pd
    
    # 假设你的DataFrame是df,目标列是'A列'
    df['A列'] = pd.to_datetime(df['A列']).dt.floor('S')
    
  2. 如果需要转为字符串格式(可选)
    要是你同时需要%Y-%m-%d %H:%M:%S格式的字符串,可以在转成datetime后再格式化,但注意这样会变成字符串类型,后续若要排序得重新转回datetime:

    # 先转datetime去毫秒,再转成指定格式的字符串
    df['A列_字符串格式'] = pd.to_datetime(df['A列']).dt.floor('S').dt.strftime('%Y-%m-%d %H:%M:%S')
    

你的原代码问题分析:

  • 变量名大小写混乱:Df和df混用,导致程序找不到对应DataFrame
  • 第二个代码用datetime.strptime指定单一格式,无法处理三种不同的日期字符串,必然报错
  • 第一个代码直接用strftime把datetime转成字符串,后续没法直接排序,违背了第二个目标

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 11:22:33