基于独立列去除重复行求助:员工ID跨列重复场景处理
解决重复数据保留问题
Excel 操作步骤
- 选中除员工ID外的所有列(比如姓名、部门、入职日期等字段)
- 点击「数据」选项卡 → 「删除重复值」
- 在弹出窗口中,取消勾选员工ID列,仅勾选其他需要判断重复的列,点击确定即可自动保留每组重复数据的第一行(即原第1行),同时保留唯一的第3行;若想保留原第2行,可先对数据按员工ID倒序排序后再执行上述操作。
Python Pandas 代码实现
import pandas as pd # 读取数据(替换为你的文件路径) df = pd.read_excel("你的数据文件.xlsx") # 按除员工ID外的字段去重,保留每组第一行;换成keep="last"则保留每组最后一行 df_cleaned = df.drop_duplicates(subset=[col for col in df.columns if col != "员工ID"], keep="first") # 保存去重后的数据 df_cleaned.to_excel("去重后的数据.xlsx", index=False)
SQL 语句实现
-- 按除员工ID外的字段分组,保留每组第一条记录(按员工ID升序取第一个) SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY 姓名, 部门, 入职日期 -- 替换为实际的非员工ID字段 ORDER BY 员工ID) AS rn FROM 你的表名 ) t WHERE rn = 1;
若要保留原第2行,将ORDER BY 员工ID改为ORDER BY 员工ID DESC即可。
内容的提问来源于stack exchange,提问作者user20391531
相关产品推荐
相关产品推荐

