You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas如何删除指定列取值重复的行并保留首个出现的行?

解决方案

Pandas 提供了内置的drop_duplicates方法可以直接实现按指定列去重的需求,默认保留首次出现的重复行,符合你的要求。

完整实现代码如下:

import numpy as np
import pandas as pd

# 构造测试DataFrame
df = pd.DataFrame({'A':[2,3,2,2,2], 
                   'B':[1,5,5,1,1],
                   'C':[1,6,6,2,1],
                   'D':[1,2,3,1,1]})

# 按B、C两列去重,保留第一条
df = df.drop_duplicates(subset=['B', 'C'], keep='first')
print(df)

运行后输出结果:

A  B  C  D
0  2  1  1  1
1  3  5  6  2
3  2  1  2  1

参数说明

  • subset:传入需要判断重复的列名列表,只有指定列的取值全部相同时才会判定为重复行
  • keep:指定重复行的保留规则,'first'为默认值,保留首次出现的重复行;你也可以按需设置为'last'保留最后一次出现的重复行,或者设置为False删除所有重复行。

内容的提问来源于stack exchange,提问作者Drizzle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 14:27:06