Python豆瓣top250电影评分分布条形图
时间: 2023-06-24 20:03:07 浏览: 109
好的,我可以为您提供相关的代码和步骤。
首先,我们需要使用豆瓣API获取Top250电影的数据。您可以在豆瓣开发者中心申请一个API Key,然后使用Python的requests库进行API请求,获取数据。
接下来,我们需要对数据进行处理,提取每部电影的评分数据,并进行统计。可以使用Python的pandas库对数据进行处理和分析。
最后,我们可以使用Python的matplotlib库绘制分布条形图。以下是完整的代码和步骤:
1. 导入所需的库:
```python
import requests
import pandas as pd
import matplotlib.pyplot as plt
```
2. 使用API请求获取Top250电影数据:
```python
url = 'https://api.douban.com/v2/movie/top250'
params = {'apikey': 'your_api_key', 'start': 0, 'count': 250}
response = requests.get(url, params=params)
data = response.json()
```
注意替换代码中的your_api_key为您在豆瓣开发者中心申请的API Key。
3. 提取每部电影的评分数据:
```python
ratings = []
for movie in data['subjects']:
ratings.append(movie['rating']['average'])
```
4. 使用pandas库对数据进行统计,计算出每个评分区间内的电影数量:
```python
bins = [0, 5, 6, 7, 8, 9, 10]
labels = ['0-5', '5-6', '6-7', '7-8', '8-9', '9-10']
df = pd.DataFrame({'rating': ratings})
df['category'] = pd.cut(df['rating'], bins=bins, labels=labels)
counts = df['category'].value_counts().sort_index()
```
5. 绘制分布条形图:
```python
plt.bar(counts.index, counts.values)
plt.title('Distribution of ratings in Top250 Movies')
plt.xlabel('Rating category')
plt.ylabel('Number of movies')
plt.show()
```
运行完整的代码后,您将会得到一张分布条形图,显示Top250电影中每个评分区间内的电影数量。
希望这个代码对您有所帮助。