如何从pandas混合字母数字列中提取日期时间并拆分出企业名称列
Pandas混合日期企业名列拆分方案
核心思路
通过正则匹配开头可选的标准日期时间格式,将匹配到的内容作为日期列,剩余内容作为企业名称列,自动适配日期缺失的场景。
实现代码
import pandas as pd # 替换为你实际的混合列列名 origin_col = "你的原始混合列名" # 正则规则:第一分组匹配可选的「年-月-日 时:分:秒」格式,\s*匹配日期后可能存在的空格,第二分组匹配剩余全部内容 pattern = r'^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})?\s*(.*)$' # 提取两列内容 df[['date_time', 'full_company_name']] = df[origin_col].str.extract(pattern) # 可选操作:将日期列转为pandas datetime格式,方便后续时间运算 df['date_time'] = pd.to_datetime(df['date_time'], errors='coerce')
规则说明
- 存在标准格式日期的行:自动提取开头符合格式的日期到
date_time列,剩余内容去除首尾空格后进入full_company_name列 - 无日期的行:
date_time列自动填充为空/NaT,整行内容全部进入full_company_name列 - 如果你的日期格式存在差异(例如年月日分隔符为
/、无时分秒等),只需调整正则中第一分组的匹配规则即可。
内容的提问来源于stack exchange,提问作者SusuTheSeeker
相关产品推荐
相关产品推荐

