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

如何在未知公共值时提取pop数据集中J列值相同的两行?

提取J列重复值对应的两行数据

方法一:直接筛选重复行

利用pandas的duplicated()方法,设置keep=False可标记出某列所有重复出现的行,直接筛选就能得到目标两行:

# 提取J列中所有重复的行
target_rows = pop[pop['J'].duplicated(keep=False)]

方法二:先定位重复值再提取

如果需要明确获取那个重复的公共值,再提取对应行,可以分两步操作:

# 统计J列各值的出现次数
value_counts = pop['J'].value_counts()
# 找出出现次数为2的目标值
common_value = value_counts[value_counts == 2].index[0]
# 根据目标值提取对应行
target_rows = pop[pop['J'] == common_value]

关于你之前的错误说明

  • pop.loc[pop['X'] == some_value]无法使用是因为你不知道some_value,上面的方法会自动帮你定位这个重复值
  • pop.query('X' == 'X')返回全量数据是因为'X' == 'X'是恒成立的布尔表达式,query会返回所有行;如果想用query实现,正确写法是pop.query('J.duplicated(keep=False)'),但布尔索引的写法更直观。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 22:25:25