存储到mongodb中的豆瓣读书网中评分和评论人数的数据怎么转换
时间: 2024-02-13 17:04:33 浏览: 133
存储到 MongoDB 中的豆瓣读书网中的评分和评论人数数据,可以按如下方式进行数据转换:
1. 将评分数据转换为0-100的分数形式,即乘以20。
2. 如果评论人数数据过大或过小,可以进行对数变换,以缩小数据的范围。
例如,使用 Python 进行数据转换的示例代码如下:
```python
import pymongo
import numpy as np
# 连接MongoDB数据库
client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["douban"]
collection = db["books"]
# 从MongoDB中读取评分和评论人数数据
data = list(collection.find({}, {"_id": 0, "rating": 1, "num_ratings": 1}))
# 转换评分数据
for item in data:
item["rating"] *= 20
# 转换评论人数数据
num_ratings = np.array([item["num_ratings"] for item in data])
log_num_ratings = np.log10(num_ratings)
log_num_ratings = (log_num_ratings - np.min(log_num_ratings)) / (np.max(log_num_ratings) - np.min(log_num_ratings))
for i, item in enumerate(data):
item["num_ratings"] = log_num_ratings[i]
```
以上代码中,我们首先连接 MongoDB 数据库,从中读取评分和评论人数数据,然后将评分数据乘以20,将评论人数数据进行对数变换并进行归一化处理。需要注意的是,具体的数据转换方式需要根据实际情况进行调整。
阅读全文