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

如何删除pandas DataFrame日期列中前置的星期与逗号

pandas清洗Date列移除星期前缀实现方案

需求说明

你的DataFrame包含Date(日期)、Department Cash flow(部门现金流)两个字段:

  • Date列原始值格式为「星期名称, 日 月 年」,例:Friday, 1 April 2022
  • 需要移除日期左侧的星期名称及附带逗号,保留「日 月 年」格式(例:1 April 2022),支持后续按日期排序

方案1:固定格式字符串直接截取(快速得到目标文本格式)

如果你的数据格式完全统一,没有异常值,直接用字符串分割就能快速得到结果:

# 按逗号拆分字符串,取日期部分后去除首尾多余空格
df['Date'] = df['Date'].str.split(',').str[1].str.strip()

注意:这个方法处理后Date列是字符串类型,直接用字符串排序会出现顺序错乱,排序前必须先转成datetime类型。

方案2:解析为标准日期类型(推荐,适配后续排序/计算需求)

如果后续需要做日期排序、时间维度聚合,更稳妥的方式是先把原始日期解析为pandas原生datetime类型,需要展示「日 月 年」格式时再转成对应文本即可:

import pandas as pd

# 按原始格式解析为datetime类型,解析后可直接用于排序、时间计算
df['date_obj'] = pd.to_datetime(df['Date'], format='%A, %d %B %Y')

# 若需要保留「日 月 年」的字符串列,执行以下转换即可
# 注意:Windows系统把 %-d 替换为 %#d
df['Date'] = df['date_obj'].dt.strftime('%-d %B %Y')

处理完后直接按解析出的日期对象排序即可,不会出现格式导致的排序错误:

# 按日期从早到晚升序排列
df = df.sort_values(by='date_obj', ascending=True).reset_index(drop=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 01:21:34