R语言如何删除下方存在重复ID值的行,仅保留每组ID最上方的行
重复ID行清理解决方案
以下是不同常用场景下的实现方法,均默认保留每个ID第一次出现的首行,完全匹配你的需求:
Excel / WPS 表格操作
- 选中完整数据区域,确保包含表头
- 点击「数据」选项卡,找到「删除重复值」功能入口
- 弹出选项框后,仅勾选ID对应的列名,点击确认即可
- 表格工具的删除重复值功能默认保留每组重复项的第一个出现行,无需额外调整规则
Python Pandas 代码实现
处理本地数据集时直接调用drop_duplicates方法即可,示例代码:
import pandas as pd # 读取本地数据集,支持csv、xlsx等常用格式 df = pd.read_csv("你的数据集路径.csv") # 按ID列去重,keep='first'表示保留每个ID的首行,为默认参数可省略 df = df.drop_duplicates(subset="你的ID列列名", keep="first") # 导出处理完成的数据集 df.to_csv("去重后的数据集.csv", index=False)
SQL 数据库操作
如果数据存储在关系型数据库中,可用窗口函数实现:
SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY ID ORDER BY 排序字段 ASC) AS rn FROM 你的表名 ) t WHERE rn = 1;
注意:SQL没有默认的物理行顺序概念,必须指定明确的排序规则才能对应你说的「最上方的行」,可按自增主键、数据创建时间等字段排序。
内容的提问来源于stack exchange,提问作者bob2323
相关产品推荐
相关产品推荐

