使用 Python 分析电影类型趋势并绘制热力图

本文将使用 Python 代码分析电影类型趋势,通过将电影数据集按照年份分组,统计每个年份各电影类型的数量,并绘制热力图展示电影类型数量的变化趋势。

步骤:

  1. 读取数据集:使用 pandas 库读取名为 'movies.csv' 的电影数据集。
  2. 处理电影类型数据:将 genres 列中的电影类型用 '|' 符号隔开,以便后续分析。
  3. 按年份分组并统计电影类型数量:使用 groupby 函数将数据按照年份分组,并统计每个年份各个电影类型的数量。
  4. 绘制热力图:使用 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 颜色映射,并在图上显示每个格子的数值。

结论:

通过分析电影类型热力图,我们可以观察到不同电影类型的数量在不同年份的变化趋势。例如,某些电影类型可能在特定年份出现激增,而其他类型则可能随着时间推移而逐渐减少。这可以帮助我们更好地理解电影行业的趋势,并为未来的电影制作提供参考。

电影类型热力图:使用 Python 分析电影类型趋势

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

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