使用课程中的movie数据集,完成以下题目:统计Steven Spielberg导演的电影每年的评分/平均票房,绘制折线图
时间: 2024-10-18 13:16:05 浏览: 19
在使用课程中的movie数据集完成这个任务时,首先需要确保数据集中包含有关Steven Spielberg导演的电影信息以及每部电影的年份、评分和票房数据。以下是大致步骤:
1. **数据加载与预处理**:
- 导入所需的库,如pandas for 数据处理,matplotlib用于绘图。
- 加载数据集,并筛选出Steven Spielberg相关的行。
```python
import pandas as pd
import matplotlib.pyplot as plt
# 假设数据集名为'movie_data.csv'
df = pd.read_csv('movie_data.csv')
sspielberg_movies = df[df['director'] == 'Steven Spielberg']
```
2. **数据清洗与分组**:
- 检查并处理缺失值,如果有的话。
- 根据年份对电影进行分组,计算每年的评分平均值和总票房。
```python
grouped_data = spielberg_movies.groupby('year').agg({'rating': 'mean', 'box_office': 'sum'})
```
3. **计算平均评分和票房**:
- 对评分求平均得到每年的平均评分,对票房求和除以年数得到平均票房。
```python
average_ratings = grouped_data['rating'].mean()
average_box_office_per_year = grouped_data['box_office'].sum() / grouped_data.index.size
```
4. **绘制折线图**:
- 使用matplotlib创建折线图,x轴为年份,y轴分别为评分和票房。
```python
plt.figure(figsize=(10, 6))
plt.plot(average_ratings.index, average_ratings, label='Average Rating')
plt.plot(average_box_office_per_year.index, average_box_office_per_year, label='Average Box Office')
plt.title("Steven Spielberg's Film Ratings and Box Office Over Time")
plt.xlabel('Year')
plt.ylabel('Value')
plt.legend()
plt.show()
```
阅读全文