如何在Python Pandas DataFrame中按指定列去重并保留首行
Pandas按指定列去重保留首次出现行的实现方法
你可以直接使用Pandas内置的drop_duplicates()方法实现该需求,只需要指定判断重复的列为three,保留规则为保留首次出现的行即可。
完整代码示例:
import pandas as pd # 构造示例DataFrame df = pd.DataFrame({ 'one': [1, 2, 3], 'two': [2, 3, 4], 'three': [3, 3, 4] }) # 核心去重逻辑 df = df.drop_duplicates(subset='three', keep='first')
参数说明
subset:用于指定判断重复的参考列,传单个列名就只按该列判断重复,传列名列表则按多列联合值判断重复keep:指定重复行的保留规则,'first'表示保留重复值第一次出现的行(该值为默认参数,不填写也生效);如果需要保留最后一次出现的行可以设置为'last';设置为False则会删除所有存在重复的行- 如果你需要直接修改原DataFrame不需要重新赋值,可以额外添加
inplace=True参数。
执行上述代码后得到的结果如下:
one two three 0 1 2 3 2 3 4 4
完全符合你要保留第一行、第三行,删除第二行重复值的要求。
内容的提问来源于stack exchange,提问作者Celin Younan
相关产品推荐
相关产品推荐

