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

如何仅对Pandas DataFrame中指定值的ID进行去重?

实现指定ID的选择性去重

解决思路

把数据拆成两部分分别处理:

  • 非目标ID的记录:直接全部保留
  • 目标ID的记录:按ID去重,只保留第一条
    最后合并两部分数据,还原接近原始数据的顺序。

代码实现

import pandas as pd

# 原始DataFrame
df = pd.DataFrame({
    'ID': [1, 2, 3, 1, 2, 3],
    'Value': ['A', 'B', 'A', 'B', 'C', 'A']
})

# 指定需要去重的目标ID
target_id = 1

# 处理非目标ID的记录:全部保留
non_target_rows = df[df['ID'] != target_id]
# 处理目标ID的记录:按ID去重,保留第一条
target_unique_rows = df[df['ID'] == target_id].drop_duplicates(subset='ID', keep='first')

# 合并数据并恢复原始顺序(sort_index保证顺序和原数据一致)
result_df = pd.concat([target_unique_rows, non_target_rows]).sort_index().reset_index(drop=True)

# 输出结果
print(result_df)

输出结果

ID Value
0   1     A
1   2     B
2   3     A
3   2     C
4   3     A

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 03:23:11