Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3607798
  • 博文数量: 365
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2522
  • 用 户 组: 普通用户
  • 注册时间: 2019-10-28 13:40
文章分类

全部博文(365)

文章存档

2023年(8)

2022年(130)

2021年(155)

2020年(50)

2019年(22)

我的朋友

分类: Python/Ruby

2022-12-16 17:38:41

# release_date 转化为 pandas支持的时间序列

datalist.loc[:, 'release_date'] = pd.to_datetime(datalist.loc[:, 'release_date'])

# 获取 发行年份

datalist.loc[:, 'release_year'] = datalist.loc[:, 'release_date'].dt.year

# 进行字符串分割

temp_list = [i.split(",") for i in datalist["genres"]]

# 获取电影的分类,并去重

typelist = np.unique([i for j in temp_list for i in j])

# 发现typelist中有空值,删除空元素''

typelist = np.delete(typelist, typelist == '')

for column in typelist:

    # 先增加所有电影类型列,初始值为0

    datalist.loc[:, column] = 0

    # 构建bool数组

    mask = datalist.loc[:, 'genres'].str.contains(column)

    # 修改

    datalist.loc[mask, column] = 1

# 按照发行年份进行分组,统计各个电影各个年份的数量

res =外汇跟单gendan5.com datalist.groupby('release_year')[typelist].sum()

print(res)

# 绘图

# 创建画布

plt.figure()

# 默认不支持中文 ---修改RC参数

plt.rcParams['font.sans-serif'] = 'SimHei'

# 增加字体之后变得不支持负号,需要修改RC参数让其继续支持负号

plt.rcParams['axes.unicode_minus'] = False

# 构建横轴数据

x = res.index

for movie_type in res.columns:

    # 构建纵轴数据

    y = res[movie_type]

    # 绘制折线图

    plt.plot(x, y)

# 增加标题

plt.title('电影类型随时间变化趋势图')

# 设置图例

plt.legend(res.columns, fontsize='x-small')

# 设置纵轴名称

plt.ylabel('数量')

# 设置横轴名称

plt.xlabel('年份')

# 增加网络曲线

plt.grid(True, alpha=0.2)

# 保存图片

plt.savefig('./电影类型随时间变化趋势图.jpg')

# 展示

plt.show()

阅读(567) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~