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

Pandas DataFrame拆分release_date列出现列偏移问题求助

日期列拆分偏移问题的解决方法

问题根源

你用test['date_added'].str.split(' ',expand=True)按单空格拆分「月 日, 年」格式的日期列时,部分行存在连续空格或多余空白字符,导致拆分出空值列,最终生成4列且出现列偏移。

可行解决方案

方案1:按任意数量空格拆分(最简便)

用正则表达式匹配1个或多个空白字符作为分隔符,直接拆分出3列:

test[['month', 'day', 'year']] = test['date_added'].str.split(r'\s+', expand=True)

r'\s+'会自动把连续空格、制表符等空白字符当作一个分隔符,避免生成多余列。

方案2:先清理空格再拆分

先将字符串内的连续空格替换为单个空格,再按单空格拆分:

# 清理连续空格
test['date_clean'] = test['date_added'].str.replace(r'\s+', ' ', regex=True)
# 拆分列
test[['month', 'day', 'year']] = test['date_clean'].str.split(' ', expand=True)

方案3:通过日期解析提取(最可靠)

直接将字符串解析为日期类型,再提取月、日、年信息,完全规避拆分问题:

import pandas as pd

# 解析日期(自动识别格式)
test['date_added'] = pd.to_datetime(test['date_added'])
# 提取月份名称、日期、年份
test['month'] = test['date_added'].dt.month_name()
test['day'] = test['date_added'].dt.day.astype(str)
test['year'] = test['date_added'].dt.year.astype(str)

这种方法能兼容更多格式的日期字符串,容错性更强。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 10:02:02