1. 数据加载与初步探索

movies_df = pd.read_csv('tmdb_5000_movies.csv',  encoding='latin1')
print(movies_df.describe())


# 此处省略至少20行代码

分析

  • 先用pandas读取电影数据,describe()给出所有数值型字段(如预算、票房、评分等)的分布统计(count, mean, std, min, max, quartiles)。
  • head()展示前5行,帮助你大致了解字段内容,比如budget(预算)、revenue(票房)、vote_average(评分)、genres(类型)、release_date(上映时间)等。

2. 基本统计指标

budget_mean = movies_df['budget'].mean()
revenue_mean = movies_df['revenue'].mean()
vote_average_mean = movies_df['vote_average'].mean()

分析

  • 分别计算所有电影的平均预算票房评分,能整体把握好莱坞电影的投资与市场表现整体水准。

箱线图分析

plt.boxplot(movies_df['budget'], vert=False)
plt.title('电影预算分布情况')
plt.xlabel('预算')
# 此处省略至少20行代码
  • 箱线图可以直观看出预算的分布、异常值(非常高或者非常低预算)、中位数,了解电影投资的普遍区间。

3. 时间趋势分析

movies_df['release_date'] = pd.to_datetime(movies_df['release_date'])
movies_by_year = movies_df.groupby(movies_df['release_date'].dt.year)['id'].count()
# 此处省略至少20行代码

分析

  • 把上映日期格式化,然后按年份分组统计每年上映的电影数(即产量)。
  • 绘制折线图,可以看出电影年产量走势。一般情况下,近几十年美国或全球电影产量稳步增长,也可能出现某些年份高峰或者下降(如受金融危机、新冠疫情等影响)。

4. 类型分析

movies_df['genres'] = movies_df['genres'].apply(lambda x: [genre['name'] for genre in eval(x)])
# 此处省略至少20行代码

分析

  • 原始数据的genres字段是JSON字符串,变成列表,例如[{"id":28,"name":"Action"},...],所以用eval()解析,然后提取类型名字。
  • explode将一部多类型电影分别统计,然后按类型分组。
  • 分别统计每种类型的平均票房revenue和平均评分vote_average

用途

  • 这能分析出哪类电影投资回报高,哪类观众评分高,为电影公司选题、投资参考提供定量依据。

5. 评分与票房关系可视化

plt.scatter(movies_df['vote_average'], movies_df['revenue'], alpha=0.5)
plt.title('电影评分与票房的关系')
plt.xlabel('电影评分')
# 此处省略至少20行代码

分析

  • 用散点图描绘每部电影评分与票房的关系。
  • 观察是否有明显的正相关(即高评分电影票房更高),还是分布很松散(说明口碑和票房不完全挂钩)。

实际情况

  • 一般情况下:评分和票房呈弱正相关(好电影通常更易赚钱,但也有高票房低口碑大片、低票房高口碑文艺片)。

整体可视化大屏

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐