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

Python Pandas中如何拼接固定文本与列提取的数字?

Pandas 拼接固定文本与提取数字的解决方案

首先,你需要从PROJEKT[BEZEICHNUNG]列提取到包含两个数字的列表,接下来可以通过以下几种方式生成目标列EINGRUPPIERUNG:

方法1:直接索引列表元素拼接

利用Pandas Series对列表类型的字符串索引支持,直接取出列表中的两个数字,转为字符串后与固定文本拼接:

import pandas as pd

# 假设你的DataFrame名为df,且已将提取的数字列表存入extracted_numbers列
df['EINGRUPPIERUNG'] = 'P' + df['extracted_numbers'].str[0].astype(str) + ' Stufe ' + df['extracted_numbers'].str[1].astype(str)

方法2:用apply函数实现灵活拼接

如果需要处理列表长度不一致的情况(避免索引越界报错),可以自定义函数配合apply:

def build_group_label(row):
    nums = row['extracted_numbers']
    if len(nums) == 2:
        return f"P{nums[0]} Stufe {nums[1]}"
    # 列表元素数量不符时返回默认值,可根据需求修改
    return "格式不符"

df['EINGRUPPIERUNG'] = df.apply(build_group_label, axis=1)

一步到位:提取+拼接合并操作

如果还没完成数字提取,可以直接从原始列提取并格式化,省去中间列:

df['EINGRUPPIERUNG'] = df['PROJEKT[BEZEICHNUNG]'].str.findall(r"\d+").apply(
    lambda x: f"P{x[0]} Stufe {x[1]}" if len(x) == 2 else None
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 00:26:06