如何在DataFrame中保留同值仅一条记录并删除其余?求批量方案
在Pandas DataFrame中实现重复条目去重(保留第一条)
针对你需要处理的40万组词对数据,直接用Pandas的drop_duplicates方法就能高效完成去重,仅保留每组重复条目的第一条记录,无需手动处理。
核心实现步骤
- 导入依赖库
import pandas as pd
- 读取数据
假设你的数据存储在CSV文件中,读取代码如下(如果是Excel或其他格式,替换对应读取方法即可):
df = pd.read_csv("your_data.csv")
- 执行去重操作
针对示例中en列的重复值进行去重,保留每组的第一条记录:
# 生成去重后的新DataFrame df_deduplicated = df.drop_duplicates(subset="en", keep="first", inplace=False) # 若想直接修改原DataFrame,可设置inplace=True # df.drop_duplicates(subset="en", keep="first", inplace=True)
参数说明:
subset="en":指定以en列作为去重判断依据,若需多列组合去重,可传入列名列表(如["en", "ko"])keep="first":保留每组重复条目的第一条记录,若需保留最后一条则设为keep="last",删除所有重复项则设为keep=Falseinplace=False:返回新的DataFrame,避免修改原数据
- 保存处理后的数据
将去重后的结果保存为新文件:
df_deduplicated.to_csv("deduplicated_data.csv", index=False)
示例效果验证
针对你提供的示例数据:
| en | ko |
|---|---|
| acrania | a |
| acrania | b |
| acrania | c |
| acrania | d |
执行去重操作后,将得到:
| en | ko |
|---|---|
| acrania | a |
该方法处理40万行数据效率极高,无需手动逐条操作。
内容的提问来源于stack exchange,提问作者이승우
相关产品推荐
相关产品推荐

