如何用Pandas绘制特定评分影片的年度数量趋势图?
解决方法
步骤1:筛选目标评分数据
先从DataFrame中过滤出评分等于3的所有影片记录:
# 筛选评分=3的影片 filtered_data = data[data['rating'] == 3]
步骤2:按年份统计数量
用groupby结合size()统计每年符合条件的影片数量,这比value_counts()更适配“关联年份+特定评分”的统计需求:
# 按年份分组并计数,转换为带列名的DataFrame yearly_counts = filtered_data.groupby('year').size().reset_index(name='count')
也可以用pd.crosstab一步生成年份与评分的交叉表,再提取目标评分的列:
yearly_counts = pd.crosstab(data['year'], data['rating'])[3].reset_index(name='count')
步骤3:绘制统计图
用Pandas自带的绘图功能生成柱状图或折线图,直观展示数据趋势:
# 绘制柱状图(适合对比每年数量差异) yearly_counts.plot(x='year', y='count', kind='bar', figsize=(12, 6), title='每年获得3分的影片数量') # 绘制折线图(适合观察长期数量变化趋势) yearly_counts.plot(x='year', y='count', kind='line', figsize=(12, 6), title='每年获得3分的影片数量')
补充提示
- 如果年份列存在非数值类型,先转换为整数:
data['year'] = data['year'].astype(int) - 若要统计其他评分(如0、1、2分),只需将代码中的
3替换为对应评分即可。
内容的提问来源于stack exchange,提问作者Tommaso Donato
相关产品推荐
相关产品推荐

