技术求助:从Netflix数据集计算Top10电影出品国的平均影片时长
修正后的代码实现方案
原代码问题分析
- 分组逻辑错误:应按
country而非minute分组来计算各国影片平均时长 - 未关联Top10国家与平均时长计算:仅获取了Top10国家索引,但未过滤对应数据并完成均值计算
- 缺少排序步骤:未对计算出的平均时长结果进行排序展示
修正后的完整代码
# 筛选出所有电影类型的数据 df_movies = df[df['type'] == 'Movie'] # 获取出品电影数量排名前10的国家列表 top10_countries = df_movies['country'].value_counts().index[:10].tolist() # 过滤出Top10国家的电影数据 df_top10_movies = df_movies[df_movies['country'].isin(top10_countries)] # 按国家分组,计算平均影片时长,并按平均时长降序排序 country_avg_duration = df_top10_movies.groupby('country')['duration'].mean().sort_values(ascending=False) # 打印结果 print(country_avg_duration)
代码说明
value_counts().index[:10].tolist():将Top10国家转为列表,方便后续过滤数据isin(top10_countries):只保留Top10国家的电影数据,避免计算所有国家的均值groupby('country')['duration'].mean():按国家分组,计算每组的影片时长均值sort_values(ascending=False):将结果按平均时长从高到低排序,直观展示差异
内容的提问来源于stack exchange,提问作者Sk Hossen
相关产品推荐
相关产品推荐

