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

Pandas:如何将两种不同格式的日期转换为统一格式?

解决DataFrame日期格式统一问题

问题分析

你之前的代码报错是因为指定的格式%d-%m是横杠分隔,但实际日期是点分隔的,且存在带年份的格式,导致匹配失败。下面提供两种简单的解决方法,都能帮你统一成日.月.格式:


方法一:直接字符串截取(高效简洁)

两种目标格式的前5位正好是你需要的dd.mm.,直接截取字符串前5个字符即可:

df["date"] = df["date"].str[:5]

注:该方法适用于所有日期字符串都严格符合dd.mm.或dd.mm.yyyy结构的情况


方法二:转成datetime后格式化(更严谨)

先将所有日期转成datetime类型(pandas会自动识别两种点分隔的格式),再提取日和月重新格式化:

# 转换为datetime类型,指定dayfirst=True确保日在前月在后
df["date"] = pd.to_datetime(df["date"], dayfirst=True)
# 格式化为你需要的日.月.格式
df["date"] = df["date"].dt.strftime("%d.%m.")

这种方法能自动处理一些格式异常(比如个别不符合的日期会被转为NaT,你可以后续用df.dropna()处理),更适合数据可能存在小异常的场景。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 21:40:39