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

如何基于pandas DataFrame一列内容删除另一列的重复词汇

实现方案

首先导入依赖库:

import pandas as pd
import re

步骤1:构造测试数据(可跳过直接看核心逻辑)

我们先构造和你需求一致的示例DataFrame方便验证效果:

df = pd.DataFrame({
    "目标关键词": ["Dog", "Cat", "Apple"],
    "对应文本内容": ["Dog is good", "I like Cat very much", "Apple banana apple orange"]
})

步骤2:核心处理逻辑

我们通过逐行匹配+正则替换实现忽略大小写的关键词删除,同时处理替换后产生的多余空格:

def clean_text(row):
    # 构造正则规则:\b代表词边界,避免误删包含关键词的其他词汇;re.IGNORECASE忽略大小写
    # re.escape用于处理关键词包含正则特殊字符的场景,比如关键词含.、?等符号也能正常匹配
    pattern = re.compile(r'\b' + re.escape(row["目标关键词"]) + r'\b', re.IGNORECASE)
    # 替换匹配到的关键词为空
    res = pattern.sub("", row["对应文本内容"])
    # 清除多余空格:多个连续空格换成单个,删除首尾空格
    res = re.sub(r"\s+", " ", res).strip()
    return res

# 应用函数到每一行,你可以直接覆盖原文本列,也可以新增列存储结果
df["处理后文本"] = df.apply(clean_text, axis=1)

处理效果示例

处理后的DataFrame结果如下:

目标关键词对应文本内容处理后文本
DogDog is goodis good
CatI like Cat very muchI like very much
AppleApple banana apple orangebanana orange

注意事项

  • 如果你不需要限定匹配独立词汇(比如关键词是cat时,连category里的cat也要删除),把正则里的\b去掉即可
  • 如果你的关键词可能包含多个词,只需要调整正则规则即可适配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:27:00