1在genres类型中用‘’符合隔开2将年份作为索引将数据集按照年份分组得出每个年份各电影类型的数量3取2000-2016电影类型数量绘制热力图如下注:数据集里面有年份但不是索引列热力图的横坐标是年份。纵坐标是电影类型标题是电影热力图请给出代码
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt
读取数据集
df = pd.read_csv('movie.csv')
将genres列中的类型用 '|' 符号隔开
df['genres'] = df['genres'].str.split('|')
将每个电影的类型展开为多行
df = df.explode('genres')
将年份作为索引
df.set_index('year', inplace=True)
按年份和电影类型分组,计算数量
grouped = df.groupby([df.index, 'genres']).size()
将分组结果转化为DataFrame
df_grouped = grouped.unstack()
取2000-2016年的数据
df_grouped = df_grouped.loc[2000:2016]
绘制热力图
plt.figure(figsize=(12, 6)) sns.heatmap(df_grouped, cmap='YlGnBu') plt.title('电影热力图') plt.show(
原文地址: http://www.cveoy.top/t/topic/fbiQ 著作权归作者所有。请勿转载和采集!