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

如何使用Pandas筛选出同时出现在指定多部影片中的演员(基于IMDB数据集)

筛选同时参演两部指定电影的演员方案

嘿,这个需求其实用Pandas的分组统计就能轻松解决!我来给你一步步拆解实现步骤:

核心思路

我们需要找出同时出现在《Fight Club (1999)》和《Se7en (1995)》中的演员,核心逻辑是统计每个演员参演目标电影的数量,筛选出数量恰好为2的演员(因为刚好两部目标电影)。

具体代码实现

# 定义目标电影列表,比用多个|逻辑更简洁
target_movies = ['Fight Club (1999)', 'Se7en (1995)']

# 第一步:筛选出仅包含这两部电影的数据集
filtered_movies = df_movies[df_movies['movie'].isin(target_movies)]

# 第二步:按演员分组,统计每个演员参演的不同电影数量
actor_movie_count = filtered_movies.groupby('actor')['movie'].nunique()

# 第三步:筛选出同时参演两部电影的演员
common_actors = actor_movie_count[actor_movie_count == 2].index.tolist()

# (可选)如果需要查看这些演员的完整记录,再从原数据集中筛选
result_details = df_movies[df_movies['actor'].isin(common_actors)]

代码细节解释

  • isin(target_movies):替代了你之前用的(df_movies['movie'] == 'A') | (df_movies['movie'] == 'B')写法,当目标电影数量更多时,这种方式更易维护
  • groupby('actor')['movie'].nunique():这里用nunique()而不是count(),是为了避免同一演员在同一部电影中有多条记录的情况(比如如果某个演员在某部电影里有多个条目,count()会算多条,但我们只需要统计他参演了几部不同的目标电影)
  • 最后通过==2筛选后,common_actors就会得到你要的结果:['Brad Pitt (b.1963)']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 12:17:41