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

Pandas如何提取指定列所有重复值对应的行且不丢弃任何匹配项

你可以通过指定duplicated()方法的keep参数为False实现需求,该参数设置为False时,所有重复出现的值对应的行都会被标记为True,不会排除首次出现的重复值。

实现代码如下:

# 筛选A列有重复的全部行
df2 = df1[df1.duplicated(subset='A', keep=False)]

如果需要和你给出的示例一致的连续索引,可以追加重置索引的操作:

df2 = df1[df1.duplicated(subset='A', keep=False)].reset_index(drop=True)

参数说明:

  • subset='A':指定仅按照A列判断重复,若需按多列判断重复,传入列名列表即可,例如subset=['A','B']
  • keep参数默认值为'first',即排除首次出现的重复行,也就是你之前遇到的情况;设置为'last'则会排除最后一次出现的重复行;设置为False则所有重复值对应的行都会被选中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:30:01