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

Python Pandas分组后筛选特定值:按年龄组取最低评分影片

解决指定年龄组最低评分影片的获取问题

嘿,这问题其实很好解决,我来给你拆解清楚!核心就是先精准定位到目标年龄组的数据,再从中找出评分最低的影片就行。

完整函数示例

假设你的原始数据是一个名为df的DataFrame,已经按Age完成了分组(grouped = df.groupby('Age')),可以用下面这个函数实现需求:

def get_lowest_rated_movie(target_age):
    # 先获取目标年龄对应的分组数据
    try:
        age_group_data = grouped.get_group(target_age)
    except KeyError:
        return f"年龄组 {target_age} 不存在"  # 处理不存在的年龄组情况
    
    # 找到该组的最低评分
    min_rating = age_group_data['Ratings'].min()
    
    # 筛选出评分等于最低分的所有行,提取对应的影片
    lowest_rated_movies = age_group_data[age_group_data['Ratings'] == min_rating]['Movie']
    
    # 如果有多个影片评分相同且都是最低,这里返回第一个;要返回全部的话改成tolist()
    return lowest_rated_movies.iloc[0]

关键步骤解释

  • 定位目标年龄组:用grouped.get_group(target_age)是核心!它能直接从分组对象里取出指定年龄的所有数据行,这刚好解决了你不知道怎么获取指定年龄组评分的问题。
  • 找到最低评分:通过age_group_data['Ratings'].min()拿到该组的最低评分值。
  • 匹配对应影片:筛选出评分等于最低分的行,再提取Movie列的值即可。如果有多个影片同分最低,你可以根据需求返回第一个或者全部列表。

测试验证

按照你给出的示例,当调用get_lowest_rated_movie(1)时,函数会先取出Age=1的分组数据,找到其中最低评分5.5对应的影片4,完美返回预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:57:37