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

Python中如何删除字符串第一个空格及之后的全部内容?

解决方案

实现代码

场景1:日期列是字符串(object/string)类型

直接用pandas内置的字符串处理方法截取第一个空格前的内容即可:

import pandas as pd

# 请替换下方示例中的df为你的DataFrame变量名,date_col为你的日期列名
# 方法1:按空格拆分后取第一个元素,写法简单易读
df['date_col'] = df['date_col'].str.split(' ').str[0]

# 方法2:正则提取开头的所有非空格字符,容错性更高,异常值不会报错
df['date_col'] = df['date_col'].str.extract(r'^(\S+)', expand=False)

场景2:日期列是datetime64时间类型

不需要转成字符串处理,直接用时间类方法输出对应格式即可:

# 输出为字符串格式的「月/日/年」,自动去掉前导零
df['date_col'] = df['date_col'].dt.strftime('%m/%d/%Y').str.lstrip('0').str.replace('/0', '/')

# 如果不需要字符串格式,仅需要纯日期对象,可直接调用dt.date
df['date_col'] = df['date_col'].dt.date

列的数据类型要求

  • 如果你使用字符串处理方法(split/extract等),需要保证该列是object或者pandas专属string类型,datetime类型直接调用字符串方法会返回空值。
  • 更推荐的处理流程是先把该列转换为datetime类型再做处理,可避免字符串格式不一致(比如多打空格、时间部分格式异常)导致的处理错误,转换示例:
# 原始日期为「月/日/年 时:分」格式的转换写法
df['date_col'] = pd.to_datetime(df['date_col'], format='%m/%d/%Y %H:%M')

# 如果你的原始日期是「日/月/年 时:分」的顺序,调整format参数中%m和%d的位置即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 03:57:00