电影类型热力图:2000-2016 年电影趋势分析

本代码使用 Python 分析电影数据集,展示 2000-2016 年间不同电影类型的数量变化趋势,并绘制热力图进行可视化。

步骤:

  1. **数据准备:**读取电影数据集 'movie.csv'。
  2. **类型处理:**将 'genres' 列中用 '|' 分隔的电影类型拆分成多个独立的类型。
  3. **年份分组:**将年份作为索引,将数据集按照年份分组,得出每个年份各电影类型的数量。
  4. **筛选数据:**提取 2000-2016 年的电影类型数量数据。
  5. **绘制热力图:**使用 Seaborn 库绘制热力图,横坐标为年份,纵坐标为电影类型,标题为 '电影热力图'。

代码:

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_year = df.set_index('year')['genres'].apply(pd.Series).stack().reset_index(level=1, drop=True).to_frame('genre')
df_year = pd.get_dummies(df_year['genre']).join(df_year['year']).groupby('year').sum()

# 取2000-2016电影类型数量
df_year = df_year.loc[2000:2016]

# 绘制热力图
plt.figure(figsize=(12, 8))
sns.heatmap(df_year, cmap='YlGnBu')
plt.title('电影热力图')
plt.xlabel('电影类型')
plt.ylabel('年份')
plt.show()

解释:

  • 使用 df['genres'].str.split('|') 将 'genres' 列中的类型以 '|' 分隔成多个独立的类型。
  • 使用 df.set_index('year')['genres'].apply(pd.Series).stack().reset_index(level=1, drop=True).to_frame('genre') 将年份作为索引,并将数据集按照年份分组,并得到每个年份各电影类型的数量。
  • 使用 pd.get_dummies(df_year['genre']).join(df_year['year']).groupby('year').sum() 对电影类型进行 one-hot 编码,并按照年份进行分组求和。
  • 使用 df_year.loc[2000:2016] 提取 2000-2016 年的数据。
  • 使用 sns.heatmap(df_year, cmap='YlGnBu') 绘制热力图,并设置颜色映射为 'YlGnBu'。
  • 使用 plt.title('电影热力图') 设置标题。
  • 使用 plt.xlabel('电影类型')plt.ylabel('年份') 设置坐标轴标签。

通过该代码,我们可以清晰地看到 2000-2016 年间不同电影类型的数量变化趋势,为电影行业的发展提供参考。

提示:

  • 可以根据需要修改代码,例如更改年份范围、颜色映射、坐标轴标签等。
  • 可以进一步分析数据,例如找出不同年份最受欢迎的电影类型等。
  • 还可以将该代码应用于其他领域,例如分析音乐类型、书籍类型等数据。
电影类型热力图:2000-2016 年电影趋势分析

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

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