import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# 读取数据集
movies = pd.read_csv('movies.csv')

# 将genres中的类型用'|'符号隔开
movies['genres'] = movies['genres'].str.split('|')

# 将数据按年份分组,并统计每个年份各个电影类型的数量
genres_count = movies.explode('genres').groupby(['year', 'genres']).size().unstack().fillna(0)

# 取2000-2016年的数据
genres_count = genres_count.loc[2000:2016, :]

# 绘制热力图
sns.set(font_scale=1.2)
plt.figure(figsize=(16, 8))
sns.heatmap(genres_count, cmap='YlGnBu', annot=True, fmt='.0f')
plt.title('电影热力图')
plt.xlabel('电影类型')
plt.ylabel('年份')
plt.show()
``
1在genres类型中用‘’符合隔开2将年份作为索引将数据集按照年份分组得出每个年份各电影类型的数量3取2000-2016电影类型数量绘制热力图如下注:数据集里面有年份这一列但不是索引列。要求热力图的横坐标是年份纵坐标是电影类型标题是电影热力图请给出代码

原文地址: https://www.cveoy.top/t/topic/fbjC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录