# 统计每年的平均评分 data = pd.concat([dates_year, dates_ratings], axis=1) data.columns = ['year', 'rating'] data = data.groupby('year').mean().reset_index() # 绘制折线图 line = ( Line() .add_xaxis(data['year'].tolist()) .add_yaxis("电影评分", data['rating'].tolist()) .set_global_opts( title_opts=opts.TitleOpts(title="电影评分趋势图"), tooltip_opts=opts.TooltipOpts(trigger="axis"), xaxis_opts=opts.AxisOpts(name='上映年份',type_="category"), yaxis_opts=opts.AxisOpts(name='电影评分',type_="value"), datazoom_opts=[opts.DataZoomOpts(is_show=True,range_start=0,range_end=20,orient='horizontal')], # 添加区域缩放 ) # 缩放区域空值条所放的位置 ) line.render_notebook() 将其改为年份评分人数散点图
时间: 2023-06-24 16:06:45 浏览: 95
详解pandas数据合并与重塑(pd.concat篇)
5星 · 资源好评率100%
可以使用散点图来展示每年的评分和评分人数的关系,代码如下:
```python
# 统计每年的平均评分和评分人数
data = pd.concat([dates_year, dates_ratings, dates_votes], axis=1)
data.columns = ['year', 'rating', 'votes']
data = data.groupby('year').agg({'rating': 'mean', 'votes': 'sum'}).reset_index()
# 绘制散点图
scatter = (
Scatter()
.add_xaxis(data['year'].tolist())
.add_yaxis("电影评分", data['rating'].tolist(), symbol_size=10, label_opts=opts.LabelOpts(is_show=False))
.add_yaxis("评分人数", data['votes'].tolist(), symbol_size=10, label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title="电影年份评分人数散点图"),
tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
xaxis_opts=opts.AxisOpts(name='上映年份', type_="category"),
yaxis_opts=[
opts.AxisOpts(name='电影评分', type_="value"),
opts.AxisOpts(name='评分人数', type_="value", position="right")
],
datazoom_opts=[opts.DataZoomOpts(is_show=True, range_start=0, range_end=20, orient='horizontal')]
)
)
scatter.render_notebook()
```
这样就可以得到一张电影年份评分人数散点图,其中横轴表示年份,左纵轴表示电影评分,右纵轴表示评分人数。
阅读全文