二手房信息pyecharts可视化记录摘要

社会主义新天地 提交于 2019-12-08 21:19:17

很久没在这里写文章了,主要是onenote用的太自在了,配合nas更舒服,只是最近联通宽带把公网ip改为内网ip,导致nas不能使用,实在是太坑.

还是得在这里记载一下.

最近爬了武汉二手房信息,做了一下可视化,爬取过程太简单不说了.初始数据如下

总价和建筑面积抓取过程没有做处理,只能后面再mongodb中处理了,没想到还有点麻烦 ,关键的几个地方:

#处理''150万''字符串

db.getCollection('wh').find().forEach(function(item){

    db.getCollection('wh').update({"_id":item._id},{$set:{"total_price": item.total_price.split('万')[0] }})

})

# mongodb默认数字类型为64位浮点型,尝试过NumberDecimal,发现还是有误差.消除误差还是直接 放大100倍来得方便.

db.getCollection('wh').find().forEach(function(item){

item.建筑面积 = NumberInt(item.建筑面积*100);db.getCollection('wh').save(item)

})

数据处理好后就是可视化之前的准备工作了

首先看看产权性质和房屋类型.

what,经济适用房也能卖?!

别墅和公寓价格高,面积大,后面分析前会过滤这些数据

def getHouseWeight():
    # # 房屋类型分布 # 别墅 普通,
    # 随后的分析中去掉别墅
    res = collection.aggregate([{'$group': {'_id': '$房屋类型','count':{'$sum':1}}}])
    house,count =[],[]
    for i in res:
        print(i)
        house.append(i['_id'])
        count.append(i['count'])
    return house,count

def getAreaWeight():
    # 房源分布: 各区域房子套数
    res = collection.aggregate([
        {'$match': {'房屋类型': '普通住宅'}},
        {'$group':{"_id":'$所在位置','count':{'$sum':1}}},
        {'$sort':{'count':-1}}
    ])
    region,count = [],[]
    for i in res:
        region.append(i['_id'])
        count.append(i['count'])
    return region,count

def getHouseType():
    # # 房屋户型统计,去掉小于2的
    res = collection.aggregate([
        {'$match': {'房屋类型': '普通住宅'}},
    	{'$group':{"_id":'$房屋户型','count':{'$sum':1}}},
        {'$match': {'count': {'$gt': 2}}}
    ])
    housetype,count =[],[]
    for i in res:
        housetype.append(i['_id'])
        count.append(i['count'])
    return housetype,count

用jupyter notebook查看效果比较方便

 可以发现,两室一厅和一室一厅户型相当低,这是刚需的户型,都是自己住的.而三室两厅和三室一厅户型占比80%左右,我只能说有钱人真多...你们可以多做点好事吗?

 价格武昌独领风骚,青山,洪山,江汉,江岸不相伯仲,传统高地.可以看到江夏在远城区中一枝独秀,有机会可以细分一下

 ok,主要是mongodb和pyecharts的使用

另,使用jupyter notebook时发现非常卡,解决方法如下,详见->引用文章

1. 使用命令jupyter notebook --generate-config 找文件 jupyter_notebook_config.py位置
2. 手动打开文件进行编辑,找到c.NotebookApp.notebook_dir 修改默认目录并去掉注释保存,最好修改目录到非C盘 c.NotebookApp.notebook_dir = 'E:\\Program Files\Python3_6_6\jupyter'(大约246行,注意磁盘名后面是双斜线)
3. jupyter notebook启动服务器,正常运行

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!