如何删除Pandas DataFrame中ID重复的行?
保留DataFrame中每个ID首次出现行的最佳方法
针对你的需求,有两种常用且高效的实现方式,其中最直接的是使用drop_duplicates()方法:
方法一:使用drop_duplicates()(推荐)
这个方法专门用于去除重复行,通过指定subset参数限定判断重复的列,keep='first'保留首次出现的记录:
import pandas as pd # 构造示例数据 df = pd.DataFrame({ 'ID': ['00001', '00001', '00002', '00003', '00004', '00004'], 'Value': ['value 1', 'value 2', 'value 3', 'value 4', 'value 5', 'value 6'] }) # 处理后得到目标结果 result_df = df.drop_duplicates(subset='ID', keep='first')
执行后result_df就是你需要的仅保留每个ID首次出现行的DataFrame,这个方法代码简洁,执行效率高,完全匹配你的需求。
方法二:使用groupby() + first()
通过按ID分组,然后取每组的第一行,也能实现相同效果:
result_df = df.groupby('ID', as_index=False).first()
这个方法适合需要对分组做额外处理的场景,单纯实现去重保留首行的话,drop_duplicates()更直接。
内容的提问来源于stack exchange,提问作者ZilongShu
相关产品推荐
相关产品推荐

