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

如何查找并返回pandas DataFrame中指定列组合非唯一的对应行

解决方案

方案1:匹配你给出的预期输出(筛选同一个Name下存在多个不同Actor的所有行)

你给出的预期输出本质是保留存在多个不同演员的剧集对应的全部行,可通过分组统计唯一演员数量后过滤实现,不会丢失Seasons列:

# 统计每个剧集对应的不同演员数量
actor_cnt_per_name = df.groupby('Name')['Actor'].nunique()
# 筛选出演员数大于1的剧集名称
valid_names = actor_cnt_per_name[actor_cnt_per_name > 1].index
# 过滤原表得到结果
result_df = df[df['Name'].isin(valid_names)]

输出结果:

Name  Seasons  Actor
0  Stranger Things        3  Millie
4  Stranger Things        3   Todd

方案2:若你实际需要的是Name+Actor组合重复出现的所有行

如果你需求是筛选出Name和Actor的组合本身不唯一(重复出现)的行,可使用duplicated方法实现:

# 标记所有Name+Actor重复的行,keep=False表示所有重复项都标记为True
dup_mask = df.duplicated(subset=['Name', 'Actor'], keep=False)
result_df = df[dup_mask]

该场景输出结果:

Name  Seasons   Actor
2  La Casa De Papel        4  Sergio
5  La Casa De Papel        4  Sergio

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:24:03