You need to enable JavaScript to run this app. 使用Python从DataFrame的column1提取name后3字符模式子串生成新列
优惠活动
大模型
产品
解决方案
定价
更多

使用Python从DataFrame的column1提取name后3字符模式子串生成新列

Pandas 提取指定规则文本生成新列的实现方案

核心实现代码

针对你现有的df对象,直接执行以下代码即可完成需求:

df["column2"] = df["column1"].str.extract(r'(name.{3})', expand=False)

规则匹配逻辑说明

  • 采用Pandas内置的向量化字符串操作,无需循环遍历,执行效率远高于逐行处理
  • 正则表达式name.{3}的匹配规则:
    • 固定匹配前缀字符串name
    • .代表匹配除换行符外的任意单个字符,{3}代表连续匹配3次,刚好对应name后跟随3个任意字符的要求
    • 用捕获组()包裹整个匹配片段,保证extract方法能正确返回提取到的目标子串
    • 参数expand=False设置返回结构为一维Series,可直接赋值给DataFrame的新列

复现验证参考

如果需要验证效果,可以用你给出的测试数据构造完整运行环境执行:

import pandas as pd
# 构造测试DataFrame
df = pd.DataFrame({
    "column1": [
        "638hshsys-name123x73632",
        "ydgcg2763,sd8nameyux2ksdj",
        "name2ux@SDJ sLlsakdal"
    ]
})
# 执行提取逻辑
df["column2"] = df["column1"].str.extract(r'(name.{3})', expand=False)

执行后得到的column2列值依次为name123、nameyux、name2ux,完全匹配预期。

注意事项

  • 如果待处理文本中存在换行符,导致name与后续3个字符被换行分隔,可将正则调整为r'(name[\s\S]{3})'覆盖换行场景的匹配
  • 若某行文本中无符合规则的匹配内容,对应column2位置会自动填充为NaN

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.29 18:36:08