我的结果
步骤:
安装——备份数据——整理数据——数据可视化
安装:
- 安装网页端编译器 python3 -m pip install jupyter
- 安装数据可视化库 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 (右上角)
- 进入编译页面
-
链接pymongo
-
确认一下我的数据格式,和我的代码效果
看看数据库中“深圳”的“地区有哪些,有些没有标明“地区”的用 if 处理
list_count 列表把所有出现的“地区”都吸进去了,为了方便之后做频次统计,list.count() 你懂得
sub_area 这个 set 是拿来去重的
-
统计每个地区的频次
-
写了一个函数来处理上面的“地区”和“频次”格式,为了满足可视化库highchart的需求
-
格式是这样的,必须是字典,key分别是name\data\type,data的value还必须用方括号括起来
数据可视化
- 最后,charts来了。
- series列表把上面的字典都吸进去
- charts.plot 里面的全部是套路,text那里是标题
最后
我发现教程里面的更新数据库我没有做……然而我已经写完这篇文章了,那对于我这种潇洒性人格来说,就忘掉这一切吧。