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

我的结果

麻瓜编程·python实战·3-0自学:用赶集数据画柱状图_第1张图片
结果

步骤:

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

安装:

  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 (右上角)
  • 进入编译页面
麻瓜编程·python实战·3-0自学:用赶集数据画柱状图_第2张图片
常规的import
  • 链接pymongo


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


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

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

  • sub_area 这个 set 是拿来去重的

麻瓜编程·python实战·3-0自学:用赶集数据画柱状图_第3张图片
地区
  • 统计每个地区的频次


    麻瓜编程·python实战·3-0自学:用赶集数据画柱状图_第4张图片
    各个地区的频次
  • 写了一个函数来处理上面的“地区”和“频次”格式,为了满足可视化库highchart的需求


    麻瓜编程·python实战·3-0自学:用赶集数据画柱状图_第5张图片
    写函数干粗活
  • 格式是这样的,必须是字典,key分别是name\data\type,data的value还必须用方括号括起来


    麻瓜编程·python实战·3-0自学:用赶集数据画柱状图_第6张图片
    charts格式

数据可视化

  • 最后,charts来了。
  • series列表把上面的字典都吸进去
  • charts.plot 里面的全部是套路,text那里是标题
麻瓜编程·python实战·3-0自学:用赶集数据画柱状图_第7张图片
全都是套路

最后

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

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

麻瓜编程·python实战·3-0自学:用赶集数据画柱状图_第8张图片
更新数据库(please just 忽略红色的部分)

你可能感兴趣的:(麻瓜编程·python实战·3-0自学:用赶集数据画柱状图)