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

从DataFrame字符串列提取首个空格前子串并转为列表的方法

解决方案

这里提供几种高效的pandas处理方法,实现从DataFrame的b列提取首个空格前的子串并转为目标列表:

方法1:使用str.split()分割取首段

这是最直观的方式,通过限制分割次数提升效率:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'a': ['id1', 'id2', 'id3', 'id4'],
    'b': ['abc 123 tr', 'abd1 124 tr', 'abce 126 af', 'abe 128 nm'],
    'x': [2, 6, 9, 12]
})

# 提取并转换为列表
list_of_strings = df['b'].str.split(' ', n=1).str[0].tolist()
print(list_of_strings)
# 输出: ['abc', 'abd1', 'abce', 'abe']

n=1参数确保每个字符串仅被分割一次,避免后续空格干扰,直接取分割后的第一个元素即可。

方法2:正则表达式匹配(str.extract())

通过正则精准匹配开头的非空白字符序列:

list_of_strings = df['b'].str.extract(r'^(\S+)', expand=False).tolist()
print(list_of_strings)

正则^(\S+)表示匹配字符串开头的连续非空白字符,刚好对应首个空格前的内容。

方法3:使用str.partition()拆分

该方法会将字符串拆分为「前缀-分隔符-后缀」的元组,直接取前缀部分:

list_of_strings = df['b'].str.partition(' ')[0].tolist()
print(list_of_strings)

这种方法逻辑清晰,适合需要同时处理分隔符前后内容的场景,这里仅取第一个元素即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 19:19:58