美文网首页
麻瓜编程·python实战·3-0自学:用赶集数据画柱状图

麻瓜编程·python实战·3-0自学:用赶集数据画柱状图

作者: bbjoe | 来源:发表于2016-08-18 11:54 被阅读0次

    我的结果

    结果

    步骤:

    安装——备份数据——整理数据——数据可视化

    安装:

    1. 安装网页端编译器 python3 -m pip install jupyter
    2. 安装数据可视化库 python3 -m pip install highchart

    (win10)highchart的安装需要更改安装目录里的7个文件。具体可见教程。

    备份数据:

    win10 的 jupyter notebook 没有teminal,所以只有在cmd里进行

    • 打开cmd——show dbs——use walden——show tables
    • 创建 db.createCollection('ganji_secondhand_bak')
    • 复制 db.ganji_secondhand.copyTo('ganji_secondhand_bak')
    • 用备份来进行操作

    整理数据:

    我的 ganji_secondhand_bak 数据库中有两万多条,现在我要按照每条记录中的地点(region)来统计,各个地点的频次。
    实际上我发现我的数据库中有一些记录不是“深圳本地”的,因此我需要代码来从中筛选出“深圳”(用了正则)。
    还有一些情况是,本来应该是“深圳-宝安”,但却只有“深圳”,这里也要用 if 来处理一下。

    • 首先进入 jupyter notebook:(cmd)>jupyter notebook
    • 浏览器打开 jupyter notebook 页面
    • 点击 new - Python3 (右上角)
    • 进入编译页面
    常规的import
    • 链接pymongo


      链接pymongo
    • 确认一下我的数据格式,和我的代码效果


      处理region部分的字符串
    • 看看数据库中“深圳”的“地区有哪些,有些没有标明“地区”的用 if 处理

    • list_count 列表把所有出现的“地区”都吸进去了,为了方便之后做频次统计,list.count() 你懂得

    • sub_area 这个 set 是拿来去重的

    地区
    • 统计每个地区的频次


      各个地区的频次
    • 写了一个函数来处理上面的“地区”和“频次”格式,为了满足可视化库highchart的需求


      写函数干粗活
    • 格式是这样的,必须是字典,key分别是name\data\type,data的value还必须用方括号括起来


      charts格式

    数据可视化

    • 最后,charts来了。
    • series列表把上面的字典都吸进去
    • charts.plot 里面的全部是套路,text那里是标题
    全都是套路

    最后

    我发现教程里面的更新数据库我没有做……然而我已经写完这篇文章了,那对于我这种潇洒性人格来说,就忘掉这一切吧。

    我还是补上更新数据库吧:

    更新数据库(please just 忽略红色的部分)

    相关文章

      网友评论

          本文标题:麻瓜编程·python实战·3-0自学:用赶集数据画柱状图

          本文链接:https://www.haomeiwen.com/subject/sbjvsttx.html