Netflix数据集cast列高频演员统计求助:拆分后如何计数前15位演员
解决Netflix数据集演员出现次数统计问题
直接上可运行的pandas代码方案,步骤如下:
- 导入pandas并读取数据集(替换为你的文件路径):
import pandas as pd df = pd.read_csv('netflix_titles.csv')
- 清洗并拆分演员列:
- 先过滤
cast列的空值(避免拆分时出错) - 用
str.split(', ')拆分每个单元格的演员列表(匹配数据里逗号加空格的格式) - 用
explode()把每个演员拆分成单独行,这是实现统计的核心步骤
- 先过滤
# 处理cast列:过滤空值→拆分演员列表→展开为单行 cast_series = df['cast'].dropna().str.split(', ').explode()
- 统计前15位高频演员:
# 统计出现次数并取前15 top_15_actors = cast_series.value_counts().head(15) # 打印结果 print(top_15_actors)
- 可选:可视化展示结果(更直观)
import matplotlib.pyplot as plt top_15_actors.plot(kind='barh', figsize=(10,6), title='Top 15 Actors on Netflix') plt.xlabel('Number of Appearances') plt.ylabel('Actor Name') plt.gca().invert_yaxis() # 让次数最多的演员显示在最上方 plt.show()
关键说明
explode()是解决问题的核心:它会把每个包含演员列表的单元格拆分成多行,每行对应一个演员,这样就能直接用value_counts()统计次数。- 必须先过滤
cast列的空值,否则拆分后会出现无效值,影响统计准确性。
内容的提问来源于stack exchange,提问作者Arthur59
相关产品推荐
相关产品推荐

