使用课程中的movie数据集,完成以下题目: 统计数据集中1960年以后每年的平均票房收入,绘制折线图 统计Steven Spielberg导演的电影每年的评分/平均票房,绘制折线图
时间: 2024-10-18 09:15:37 浏览: 44
首先,为了完成这两个任务,你需要使用Python的数据分析库pandas来处理电影数据集,然后利用matplotlib进行绘图。这里是一个简化的步骤说明:
**1. 统计1960年以后每年的平均票房收入并绘制折线图**
```python
import pandas as pd
import matplotlib.pyplot as plt
# 假设数据集名为'movie_data'
if 'year' in movie_data.columns and 'box_office' in movie_data.columns:
# 过滤1960年及之后的数据
filtered_data = movie_data[movie_data['year'] >= 1960]
# 计算每年票房总收入的平均值
annual_box_office = filtered_data.groupby('year')['box_office'].mean()
# 绘制折线图
plt.plot(annual_box_office.index, annual_box_office.values)
plt.xlabel('Year')
plt.ylabel('Average Box Office Income')
plt.title('Average Movie Box Office (1960s-Now)')
plt.show()
```
**2. 统计Steven Spielberg导演的电影每年评分/平均票房并绘制折线图**
```python
# 假设'director'列包含导演姓名,'rating'列包含电影评分
spielberg_movies = movie_data[movie_data['director'] == 'Steven Spielberg']
if 'year' in spielberg_movies.columns and 'rating' in spielberg_movies.columns and 'box_office' in spielberg_movies.columns:
# 分别计算评分和票房的平均值
avg_ratings = spielberg_movies.groupby('year')['rating'].mean()
avg_box_office_spielberg = spielberg_movies.groupby('year')['box_office'].mean()
# 绘制两条折线图在同一张图上
plt.figure(figsize=(10,5))
plt.plot(avg_ratings.index, avg_ratings.values, label='Rating')
plt.plot(avg_box_office_spielberg.index, avg_box_office_spielberg.values, label='Box Office')
plt.xlabel('Year')
plt.ylabel('Average')
plt.title('Steven Spielberg Movies: Rating vs Average Box Office')
plt.legend()
plt.show()
```
这两个代码示例假设数据集中存在相应的列名。在实际操作中,请根据你的数据集结构进行调整。
如果你有任何疑问或需要更具体的帮助,可以问我。
阅读全文