pymongo查询某一列的平均值
时间: 2023-12-07 18:04:30 浏览: 40
可以通过使用聚合操作 `$group` 和 `$avg` 来查询某一列的平均值。具体步骤如下:
1. 导入 pymongo 模块和 MongoClient 类。
2. 创建 MongoClient 对象,连接 MongoDB 数据库。
3. 获取要查询的集合对象。
4. 使用聚合操作 `$group` 分组,根据需要查询的列进行分组。
5. 使用聚合操作 `$avg` 计算平均值。
6. 获取结果。
示例代码如下:
```python
import pymongo
from pymongo import MongoClient
# 创建 MongoClient 对象,连接 MongoDB 数据库
client = MongoClient('mongodb://localhost:27017/')
# 获取要查询的集合对象
db = client['test']
collection = db['students']
# 使用聚合操作 $group 分组,根据需要查询的列进行分组,使用聚合操作 $avg 计算平均值
pipeline = [
{"$group": {"_id": None, "avg_score": {"$avg": "$score"}}}
]
# 获取结果
result = list(collection.aggregate(pipeline))
# 输出结果
print(result[0]['avg_score'])
```
其中,`"$score"` 表示要查询的列,可以根据实际需要修改。如果要查询的列是数值类型,可以直接使用 `$avg` 计算平均值;如果要查询的列是字符串类型,需要先将其转换为数值类型再计算平均值。