python访问mongodb统计江岸的房源数目,统计最大和平均值
时间: 2023-11-04 22:27:05 浏览: 62
Python爬取房价信息
3星 · 编辑精心推荐
好的,我可以为您提供这个问题的解答。
首先,您需要使用 Python 的 MongoDB 驱动程序 PyMongo 连接到您的 MongoDB 数据库。然后,您可以使用 PyMongo 的聚合框架来进行统计。
假设您的 MongoDB 数据库中有一个名为 `houses` 的集合,其中每个文档都包含一个 `address` 字段,表示房源的地址。如果您只想统计江岸区的房源数目,您可以使用以下代码:
```python
from pymongo import MongoClient
client = MongoClient()
db = client['mydb']
collection = db['houses']
pipeline = [
{'$match': {'address': {'$regex': '江岸区'}}},
{'$group': {'_id': None, 'count': {'$sum': 1}}}
]
result = list(collection.aggregate(pipeline))
count = result[0]['count']
print('江岸区的房源数目为:', count)
```
上面的代码使用 PyMongo 的 `$match` 操作符过滤了地址中包含江岸区的文档,并使用 `$group` 操作符对过滤结果进行聚合,统计了匹配的文档数目。
如果您想要统计江岸区房源数目的最大值和平均值,您可以使用以下代码:
```python
pipeline = [
{'$match': {'address': {'$regex': '江岸区'}}},
{'$group': {
'_id': None,
'count': {'$sum': 1},
'max_price': {'$max': '$price'},
'avg_price': {'$avg': '$price'}
}}
]
result = list(collection.aggregate(pipeline))
count = result[0]['count']
max_price = result[0]['max_price']
avg_price = result[0]['avg_price']
print('江岸区的房源数目为:', count)
print('江岸区房源的最大价格为:', max_price)
print('江岸区房源的平均价格为:', avg_price)
```
上面的代码在 `$group` 操作符中使用了 `$max` 和 `$avg` 操作符分别统计了价格的最大值和平均值。
请注意,上面的代码仅供参考,您需要根据您的实际数据结构和需求进行调整。
阅读全文