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

pandas如何将列内混合格式的所有日期数据统一转换为datetime格式

混合日期格式统一转换方案

直接使用pandas内置方法即可快速完成转换,无需繁琐的手动逐行处理:

方案1:自动识别(最快捷,适合绝大多数场景)

pd.to_datetime()默认支持自动识别你提到的两种常见日期格式,千万级数据量也可以快速处理:

import pandas as pd

# 直接转换为datetime类型,两种格式会被自动统一识别
df['date'] = pd.to_datetime(df['date'])

# 如果需要最终输出为和多数样本一致的`YYYY-MM-DD`字符串格式,追加以下代码:
df['date'] = df['date'].dt.strftime('%Y-%m-%d')

方案2:显式匹配(更稳妥,避免极端场景识别错误)

如果担心自动识别出现误判,可以先对8位纯数字格式的日期做定向处理,再统一转换:

# 先统一转为字符串类型
df['date'] = df['date'].astype(str)
# 筛选出8位纯数字的日期行
num_date_mask = df['date'].str.match(r'^\d{8}$')
# 定向转换纯数字格式的日期为标准字符串格式
df.loc[num_date_mask, 'date'] = pd.to_datetime(df.loc[num_date_mask, 'date'], format='%Y%m%d').dt.strftime('%Y-%m-%d')
# 统一转换全列datetime类型
df['date'] = pd.to_datetime(df['date'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:24:05