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

使用Pandas的drop_duplicates未删除重复行问题求助

问题:执行drop_duplicates后原DataFrame未删除重复行?

问题原因

Pandas的drop_duplicates()方法默认不会直接修改原DataFrame,而是返回一个处理后的新DataFrame实例。你执行代码后没有将返回结果赋值给变量,所以原df完全没变化。

解决办法

有两种方式可以达到你的需求:

方式1:将处理结果赋值给变量

把返回的新DataFrame赋值给原变量或新变量,这样就能得到去重后的结果:

# 覆盖原df
df = df.drop_duplicates(subset=['id'], keep='last')

# 或者保存到新变量,保留原df
new_df = df.drop_duplicates(subset=['id'], keep='last')

方式2:使用inplace=True参数直接修改原DataFrame

通过inplace=True参数让方法直接在原DataFrame上修改,无需赋值:

df.drop_duplicates(subset=['id'], keep='last', inplace=True)

额外提示

如果你的需求是保留每个id对应最新的last_updated记录(而非DataFrame中的最后一行),建议先按last_updated排序再去重,避免行顺序影响结果:

# 先按时间降序排序,再保留每个id的第一条(即最新记录)
df = df.sort_values('last_updated', ascending=False).drop_duplicates(subset=['id'], keep='first')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 08:55:37