从 pyecharts.charts 导入 pandas as pd 从 pyecharts 导入 Scatter 将选项导入选项 # 将电影上映年份转换为四位数的年份格式 df['上映年份'] = df['上映年份'].str[:4] # 使用 groupby 聚合数据 data = df.groupby('上映年份').agg({'评分人数': 'sum', '电影评分': 'mean'}).reset_index() # 绘制散点图 scatter = ( Scatter() .add_xaxis(data['上映年份'].tolist()) .add_yaxis(“电影评分”, data['电影评分'].tolist(), symbol_size=10, label_opts=opts.LabelOpts(is_show=False)) .add_yaxis(“评分人数”, data['评分人数'].tolist(), symbol_size=10, yaxis_index=1, 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()报错类型错误: 无法将字典更新序列元素 #0 转换为序列 修改代码
时间: 2023-06-24 15:06:26 浏览: 115
jupyter notebook引用from pyecharts.charts import Bar运行报错
5星 · 资源好评率100%
修改代码如下:
```python
from pyecharts.charts import Scatter
from pyecharts import options as opts
import pandas as pd
# 将电影上映年份转换为四位数的年份格式
df['上映年份'] = df['上映年份'].str[:4]
# 使用 groupby 聚合数据
data = df.groupby('上映年份').agg({'评分人数': 'sum', '电影评分': 'mean'}).reset_index()
# 绘制散点图
scatter = (
Scatter()
.add_xaxis(data['上映年份'].tolist())
.add_yaxis("电影评分", data['电影评分'].tolist(), symbol_size=10, label_opts=opts.LabelOpts(is_show=False))
.add_yaxis("评分人数", data['评分人数'].tolist(), symbol_size=10, yaxis_index=1, 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()
```
你需要先导入 pandas,然后在使用 groupby 聚合数据之后,将其转换为 DataFrame 格式,之后绘制散点图即可。修改之后的代码应该可以正常运行,如果还有问题请告诉我。
阅读全文