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

pandas转换日期时始终得到object dtype 要求输出无时间格式

类型为object的核心原因

pd.to_datetime(df_support_HCM['CLOSE_DATE']).dt.date返回的是Python标准库的datetime.date对象,pandas存储这类非原生标量的数组时,默认会将列类型标记为object。

对应解决方案

按实际需求选择即可:

  • 保留pandas原生日期时间类型(无object类型问题),仅忽略时间部分的业务逻辑影响
    使用dt.normalize()方法,该方法会将时间部分统一重置为00:00:00,列类型保持为pandas原生datetime64[ns],不会变为object:
    df_support_HCM['CLOSE'] = pd.to_datetime(df_support_HCM['CLOSE_DATE']).dt.normalize()
    
    若需要展示时不显示00:00:00后缀,可在打印输出前配置pandas日期展示格式。
  • 直接存储纯日期值,且列类型不为object
    pandas 1.0及以上版本提供专属扩展日期类型DateDtype,可直接存储无时间的日期值:
    df_support_HCM['CLOSE'] = pd.to_datetime(df_support_HCM['CLOSE_DATE']).dt.floor('D').astype('Date')
    
  • 仅需要纯日期字符串用于展示,无需后续日期运算
    直接转换为指定格式的字符串即可:
    df_support_HCM['CLOSE'] = pd.to_datetime(df_support_HCM['CLOSE_DATE']).dt.strftime('%Y-%m-%d')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:54:06