ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

pymongo 聚合搜索

2021-06-03 14:34:04  阅读:190  来源: 互联网

标签:city 聚合 district pymongo trade 搜索 date unitPrice id


首先保存了二手房交易数据,数据形式:

{
    "_id": {
        "$oid": "60b7389ca70ea7f8e951c7da"
    },
    "price_total": "40",
    "price_unit": "4498",
    "trade_date": "2021.05.02",
    "unit_link": "https://cq.lianjia.com/chengjiao/106107543408.html",
    "unit_info": "龙凤二村 3室2厅 88.5平米",
    "price_listing": "挂牌42万",
    "deal_cycle": "成交周期49天",
    "citycode": "cq",
    "city": "重庆",
    "xiaoqu": {
        "picUrl": "https://image1.ljcdn.com/hdic-resblock/717251c1-fd6d-484e-8919-60cfe1ea33a4.jpg",
        "name": "龙凤二村",
        "buildYear": "1978年",
        "buildNum": "68栋",
        "buildType": "板楼/塔板结合",
        "frameNum": 0,
        "frameUrl": "https://cq.lianjia.com/xiaoqu/3620030253941210/huxing/",
        "viewUrl": "https://cq.lianjia.com/xiaoqu/3620030253941210/",
        "unitPrice": 5311,
        "sellNum": 47,
        "rentNum": 5,
        "sellUrl": "https://cq.lianjia.com/ershoufang/c3620030253941210/",
        "rentUrl": "https://cq.lianjia.com/zufang/c3620030253941210/",
        "gonglue": [],
        "district": "北碚",
        "street": "城南新区",
        "on_rent_price": 13.82,
        "rent_to_sale": 0.00369
    },
}

现在要根据‘xiaoqu'中的'district'和'trade_date'来分组,并对每一组计算总数,然后计算小区的平均价格

    pipeline=[
        {"$unwind": "$xiaoqu"},#要查询数组内部元素,需要先拆开数组
        {
            "$group": {
                "_id": {
                    'trade_date':'$trade_date',
                    'city':'$city',
                    'district':'$xiaoqu.district'#查询数组内部元素
                    },
                'count':{'$sum':1},#计数
                'unitPrice':{'$avg':'$xiaoqu.unitPrice'}#计算平均数,数据不能是字符串
                }
            },
        ]
    result=[]
    for col in mycol.aggregate(pipeline):
        col.update({'unitPrice':round(col['unitPrice'])})
        print(col)

结果:

{'_id': {'trade_date': '2021.05.17', 'city': '武汉', 'district': '东西湖'}, 'count': 11, 'unitPrice': 13916}
{'_id': {'trade_date': '2021.05.17', 'city': '武汉', 'district': '青山'}, 'count': 2, 'unitPrice': 15073}
{'_id': {'trade_date': '2021.05.17', 'city': '武汉', 'district': '江夏'}, 'count': 6, 'unitPrice': 13867}
{'_id': {'trade_date': '2021.05.17', 'city': '武汉', 'district': '汉阳'}, 'count': 12, 'unitPrice': 17238}
{'_id': {'trade_date': '2021.05.17', 'city': '武汉', 'district': '江汉'}, 'count': 10, 'unitPrice': 21657}
{'_id': {'trade_date': '2021.05.17', 'city': '武汉', 'district': '蔡甸'}, 'count': 3, 'unitPrice': 8650}
{'_id': {'trade_date': '2021.05.17', 'city': '武汉', 'district': '东湖高新'}, 'count': 27, 'unitPrice': 21799}
{'_id': {'trade_date': '2021.05.17', 'city': '武汉', 'district': '硚口'}, 'count': 4, 'unitPrice': 17556}
{'_id': {'trade_date': '2021.05.17', 'city': '武汉', 'district': '洪山'}, 'count': 23, 'unitPrice': 18348}
{'_id': {'trade_date': '2021.05.17', 'city': '武汉', 'district': '武昌'}, 'count': 17, 'unitPrice': 23702}
{'_id': {'trade_date': '2021.05.17', 'city': '武汉', 'district': '江岸'}, 'count': 19, 'unitPrice': 21293}
{'_id': {'trade_date': '2021.05.17', 'city': '武汉', 'district': '黄陂'}, 'count': 3, 'unitPrice': 10660}
{'_id': {'trade_date': '2021.05.17', 'city': '武汉', 'district': '沌口开发区'}, 'count': 2, 'unitPrice': 17290}

 

标签:city,聚合,district,pymongo,trade,搜索,date,unitPrice,id
来源: https://www.cnblogs.com/moneymaster/p/14845008.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有