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

使用Pandas删除仅末尾带句点差异的重复行中无句点行的方法

Pandas 末尾句点差异重复行清理方案

核心逻辑为:通过识别目标列末尾是否带句点给重复行设置保留优先级,仅保留带句点的条目,无对应带句点版本的条目会自动留存不会被误删。

操作步骤

  1. 生成两个临时辅助列:
    • base_val:目标列去掉末尾所有句点后的基准值,用于匹配仅句点差异的重复条目
    • has_dot:布尔标记,标注当前行目标列的值是否以句点结尾
      对应代码(含空值兼容处理):
    import pandas as pd
    
    # 假设你的DataFrame变量名为df,目标对比列为Header A
    df['base_val'] = df['Header A'].str.rstrip('.', na=False)
    df['has_dot'] = df['Header A'].str.endswith('.', na=False)
    
  2. 按优先级排序后去重:
    同基准值的重复组内,将带句点的行排在最前,去重时仅保留每组第一条即可
    对应代码:
    df = df.sort_values('has_dot', ascending=False).drop_duplicates('base_val', keep='first')
    # 清理临时辅助列
    df = df.drop(columns=['base_val', 'has_dot'])
    

效果验证示例

输入原始数据:

Header A关联列
First1
First.2
Second3
Third.4

处理后输出结果:

Header A关联列
First.2
Second3
Third.4

内容的提问来源于stack exchange,提问作者Ken Russel Sy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:36:03