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

如何使用Python或Pandas为DataFrame每行(p)标签内容添加顺序编号

Pandas DataFrame 文本字段p标签自动添加序号实现方法

实现思路

  • 逐行处理data字段的文本内容
  • 利用正则匹配所有(p)标签后紧跟的文本内容
  • 每行内单独维护计数器,每匹配到一个(p)标签就累加计数,替换为带序号的格式

完整实现代码

import pandas as pd
import re

# 1. 构造示例DataFrame
df = pd.DataFrame({
    'data': [
        '(p) apple (/p) (p) boy (/p) (p) cat (/p)',
        '(p) apple (p) (p) boy (/p)'
    ]
})

# 2. 定义单行文本处理逻辑
def add_p_sequence(content):
    seq_count = 0
    def replace_callback(match_obj):
        nonlocal seq_count
        seq_count += 1
        raw_text = match_obj.group(1).strip()
        return f"(p) {seq_count}.{raw_text}"
    # 正则匹配规则:匹配(p)后到下一个标签前的所有内容
    return re.sub(r'\(p\)\s*([^\(]+)', replace_callback, content)

# 3. 批量处理data字段
df['data'] = df['data'].apply(add_p_sequence)

# 输出结果验证
print(df['data'].tolist())

输出结果

运行后输出完全符合需求:

['(p) 1.apple (/p) (p) 2.boy (/p) (p) 3.cat (/p)', '(p) 1.apple (p) (p) 2.boy (/p)']

适配说明

无需提前预设每行(p)标签数量,代码会自动识别每行标签个数逐次编号,适配任意标签数量的场景。如果标签内文本包含特殊格式,仅需要调整正则匹配规则即可兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:15:00