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

如何保留DataFrame中client_id列的重复项(排除首次出现项)

问题解决:保留DataFrame中client_id的所有重复项(排除首次出现行)

错误原因分析

你之前的实现逻辑存在问题:将client_id转为列表后与原列比较,得到的结果全是False(因为每个元素和自身对应位置相等),idxmax()无法定位有效索引,后续操作自然触发Lengths must be equal的报错。

正确解决方案

Pandas内置的duplicated()方法完美匹配你的需求——该方法默认会标记除首次出现外的所有重复行,直接筛选这些标记为True的行即可:

# 筛选所有非首次出现的重复行
result_df = df[df['client_id'].duplicated()]

执行后得到的结果完全符合你的预期:

client_idpayment_datevalue
31414242021-06-01150.000000
51682262021-06-02115.000000
60678582021-06-05143.000000
71515252021-06-0782.000000

扩展说明

如果需要保留最后一次出现的行、排除之前的重复项,可给duplicated()传入参数keep='last',示例:

# 保留最后一次出现的行,排除之前的重复项
result_df = df[df['client_id'].duplicated(keep='last')]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 00:53:10