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

如何在Pandas DataFrame中提取'name='后的姓氏并存入数组

解决方案

没问题,这事儿用Pandas的字符串处理+正则表达式就能轻松搞定,我给你一步步实现:

1. 先构造示例DataFrame(模拟你的数据)

假设你的原始数据存在DataFrame的某一列(比如命名为text),先把示例数据搭起来:

import pandas as pd

data = {
    'text': [
        '(ep1270399)\nname=stet, johannes cornelis p/a ballast nedam infra b.v., p.o. box 1526 , city=3430 bm nieuwegein , country=nl ',
        'name=bos, wilhelmus johannes p/a ballast nedam infra b.v., p.o. box 1526 , city=3430 bm nieuwegein , country=nl '
    ]
}
df = pd.DataFrame(data)

2. 提取name=后的姓氏

用str.extract配合正则表达式精准提取,正则的逻辑是:匹配name=后面直到第一个逗号的所有内容(刚好就是你要的姓氏):

# 提取姓氏到新列
df['last_name'] = df['text'].str.extract(r'(?<=name=)[^,]+')

# 将结果转为数组
last_names_array = df['last_name'].values.tolist()
print(last_names_array)
# 输出结果: ['stet', 'bos']

正则表达式说明

  • (?<=name=):正向零宽断言,确保我们要匹配的内容前面刚好是name=,不会误匹配其他包含name的字符串
  • [^,]+:匹配任意非逗号的字符,直到遇到第一个逗号为止,完美锁定姓氏部分

如果你的DataFrame列名不是text,只要把代码里的df['text']换成你的实际列名就行,兼容性很强~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:06:11