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

如何用Python将DataFrame中的字符拆分至独立列并提取日期

提取指定列前6位数字并转换为日期格式(Pandas实现)

需求说明

从数据集的指定列中提取字符后的前6位数字(例如220519转换为2022/05/19),将结果存入新列,最终生成目标DataFrame。

分步实现代码

假设你的数据集已存入Pandas的df对象,目标列名为target_col:

1. 提取前6位数字

通过正则匹配提取目标列中的连续6位数字,生成临时列:

import pandas as pd

# 提取连续6位数字,生成临时列
df['temp_date'] = df['target_col'].str.extract(r'(\d{6})')

2. 转换为指定日期格式

将提取到的数字字符串解析为日期,再转换为YYYY/MM/DD格式的字符串:

# 解析日期并调整显示格式
df['日期'] = pd.to_datetime(df['temp_date'], format='%y%m%d').dt.strftime('%Y/%m/%d')

3. 清理临时列(可选)

如果不需要保留临时列,可直接删除:

df.drop('temp_date', axis=1, inplace=True)

效果示例

原示例数据集:

target_col其他列
ABC220519XYZ数据1
DEF230105LMN数据2

处理后输出的DataFrame:

target_col其他列日期
ABC220519XYZ数据12022/05/19
DEF230105LMN数据22023/01/05

注意点

  • 若目标列存在无连续6位数字的行,str.extract会在对应位置生成NaN,可根据实际需求用df['日期'].fillna('无有效日期', inplace=True)这类语句处理空值。
  • 如果提取的6位数字不是年份后两位+月份+日期的格式,需修改pd.to_datetime中的format参数匹配实际格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 06:01:01