用python抓取豆瓣读书网中的评分和评论人数存储到mongodb中可以怎么进行数据可视化分析
时间: 2023-12-23 14:05:27 浏览: 80
使用Python抓取豆瓣读书网中的评分和评论人数数据并存储到MongoDB中后,可以使用MongoDB的聚合框架和Python的数据可视化库进行数据可视化分析。
以下是一个简单的使用PyMongo和Matplotlib库进行数据可视化的例子:
```python
from pymongo import MongoClient
import matplotlib.pyplot as plt
# 连接MongoDB数据库
client = MongoClient('localhost', 27017)
db = client['douban']
collection = db['book']
# 使用聚合框架查询评分分布
pipeline = [
{'$group': {'_id': '$rating', 'count': {'$sum': 1}}},
{'$sort': {'_id': 1}}
]
result = collection.aggregate(pipeline)
# 绘制评分分布直方图
x = []
y = []
for r in result:
x.append(r['_id'])
y.append(r['count'])
plt.bar(x, y)
plt.xlabel('Rating')
plt.ylabel('Count')
plt.title('Rating Distribution')
plt.show()
# 使用聚合框架查询评分和评论人数
pipeline = [
{'$project': {'_id': 0, 'rating': 1, 'comment_count': 1}},
{'$sort': {'rating': 1}}
]
result = collection.aggregate(pipeline)
# 绘制评分和评论人数的散点图
x = []
y = []
for r in result:
x.append(r['rating'])
y.append(r['comment_count'])
plt.scatter(x, y)
plt.xlabel('Rating')
plt.ylabel('Comment Count')
plt.title('Rating vs. Comment Count')
plt.show()
```
该例子中,我们首先使用PyMongo库连接到MongoDB数据库,并使用聚合框架查询评分分布和评分和评论人数数据。然后使用Matplotlib库绘制了评分分布直方图和评分和评论人数的散点图。通过这些图表,我们可以更直观地了解评分和评论人数的分布情况,从而进行更深入的数据分析。
阅读全文