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

如何在不删除整行的前提下去除单元格内重复值及超4位字符

实现方案

使用pandas可直接完成该需求,无需删除整行,处理后列仍保持字符串类型,核心处理逻辑为逐单元格拆分、过滤、去重、再拼接。

处理逻辑

对counts列的每个单元格值依次执行以下操作:

  • 按空格拆分为单个值的列表,自动过滤拆分产生的空值(适配原始数据末尾带多余空格的情况)
  • 过滤掉长度超过4个字符的值
  • 去除重复值,保留值首次出现的原有顺序
  • 将处理后的值用空格重新拼接为字符串,写回原单元格

完整代码

import pandas as pd

# 读取/构造原始数据
df = pd.DataFrame({
    'company': ['company1', 'company2'],
    'counts': [
        '2222 2222 45345234 425352352352 6574745 299',
        '9909 4363465246 543 323 9909 3454534534 768 '
    ]
})

def process_str_cell(content: str) -> str:
    item_list = [seg for seg in content.split(' ') if seg]
    filter_res = []
    record = set()
    for item in item_list:
        if len(item) > 4:
            continue
        if item in record:
            continue
        record.add(item)
        filter_res.append(item)
    return ' '.join(filter_res)

df['counts'] = df['counts'].apply(process_str_cell)

处理结果

执行代码后输出的DataFrame与期望结果完全一致:

company           counts
0  company1        2222 299
1  company2  9909 543 323 768

说明

  • 处理过程不会删除任何整行数据,即使某行counts列过滤后无符合条件的值,该行也会保留,对应单元格值为空字符串
  • 处理后counts列数据类型仍为字符串,不会变为列表或其他格式
  • 自动兼容原始字符串前后、中间存在多余空格的场景,拼接后不会产生冗余空格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 22:06:12