电影类型热力图:使用 Python 分析电影类型趋势
使用 Python 分析电影类型趋势并绘制热力图
本文将使用 Python 代码分析电影类型趋势,通过将电影数据集按照年份分组,统计每个年份各电影类型的数量,并绘制热力图展示电影类型数量的变化趋势。
步骤:
- 读取数据集:使用
pandas库读取名为 'movies.csv' 的电影数据集。 - 处理电影类型数据:将
genres列中的电影类型用 '|' 符号隔开,以便后续分析。 - 按年份分组并统计电影类型数量:使用
groupby函数将数据按照年份分组,并统计每个年份各个电影类型的数量。 - 绘制热力图:使用
seaborn库绘制热力图,横坐标为年份,纵坐标为电影类型,颜色表示电影类型数量。
代码示例:
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()
解释:
movies['genres'] = movies['genres'].str.split('|'):将genres列中的电影类型用 '|' 符号隔开,方便后续分析。movies.explode('genres'):将genres列中的每个类型展开成单独一行,以便统计每个类型的数量。groupby(['year', 'genres']).size():按照年份和类型进行分组,并统计每个组的大小。unstack().fillna(0):将统计结果转换成数据框,并用 0 填充缺失值。genres_count.loc[2000:2016, :]:只保留 2000 年到 2016 年的数据。sns.heatmap(genres_count, cmap='YlGnBu', annot=True, fmt='.0f'):绘制热力图,使用YlGnBu颜色映射,并在图上显示每个格子的数值。
结论:
通过分析电影类型热力图,我们可以观察到不同电影类型的数量在不同年份的变化趋势。例如,某些电影类型可能在特定年份出现激增,而其他类型则可能随着时间推移而逐渐减少。这可以帮助我们更好地理解电影行业的趋势,并为未来的电影制作提供参考。
原文地址: http://www.cveoy.top/t/topic/n31i 著作权归作者所有。请勿转载和采集!