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

Pandas提取DataFrame最大日期未返回正确值问题求助

解决Pandas DataFrame提取最新日期(不修改原列格式)的问题

你的判断完全正确——问题出在DATE列是字符串类型。直接对字符串调用max()时,Pandas是按字典序比较的:'31/12/2021'的首字符'3'比'11/09/2022'的'1'大,所以会被误判为“最新日期”。

不用修改原列格式,用以下方法就能拿到真正的最新日期:

  • 临时转换为datetime类型计算,再转回原字符串格式

    import pandas as pd
    
    # 把DATE列临时转为datetime(指定格式为DD/MM/YYYY),取最大值后转回原格式
    maxdate = pd.to_datetime(df['DATE'], format='%d/%m/%Y').max().strftime('%d/%m/%Y')
    print(maxdate)  # 输出:'11/09/2022'
    

    这个操作不会改动原DataFrame的DATE列,只是临时生成datetime对象做比较,最后输出的还是你需要的字符串格式。

  • 若存在格式不统一的日期,加容错处理

    # 无法转换的日期会被设为NaT,不影响正常日期的最大值计算
    temp_dates = pd.to_datetime(df['DATE'], format='%d/%m/%Y', errors='coerce')
    maxdate = temp_dates.max().strftime('%d/%m/%Y')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 14:20:21