关于作者:程序猿石头(ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader。以每篇文章都让人有收获为目的,欢迎关注,交流和指导!文章首发于微信公众号,欢迎关注。后台回复关键字 “1024” 获取程序员大厂面试指南。
这两天公布了北京首批家庭新能源小客车指标积分排序结果。
当然,意料之中,很遗憾,本人并未入围,排名 8W 左右。看样子,要想新能源积分排序上去,还得抓紧增加家庭代际数啊。
让我们来看看这些数据都是怎样的?
网站下载了 pdf,不便于分析,显然作为程序猿还是习惯用程序员的方式来进行分析,首先还是先转为纯文本文件吧,可转换为 csv。
- 网上有工具,可上传 pdf,转 csv。
- 可以直接 copy 出来,粘贴纯文本即可。笔者采用了这种方式很快。
有了前面这两篇文章作为基础,下面这些数据可轻易获得:
因为 copy 出来纯文本,姓名和身份证连在一起了,需要拆分一下,很简单:
cat car2020.csv | awk '{print substr($3, 1, match($3,/[0-9]/)-1) "\t" substr($3, match($3,/[0-9]/)) "\t" $4 "\t" $5 "\t" $6 "\t" $7}' > car-2020.csv |
分数分析
首先,文件结果直接按照分数倒序的。
- 最高分 228 分,家庭共 7 个人组成。
- 最低分 72 分,2 代 4 人的家庭居多,也有 3 代 4 人的。
看看分数的分布,大多数围绕着 70 -120 分之间,占比 80%。
cat car-2020.csv | awk '{print $5}' | uniq -c | sort -k 1 -nr |
家庭情况
家庭代数, 近 70% 为 3 代人。
➜ Downloads cat car-2020.csv | awk '{print $4}' | sort | uniq -c
6621 2
13379 3家庭人口数,居然还有 9 口人的。看了下,9 口人 3 代,猜测 双方父母 4 + 两口 2 + 3 小孩?还是怎样的,我看家庭主要申请人也是从第一期就开始申请摇号了,这么大一家人,也没个车牌,也是不容易啊。
➜ Downloads cat car-2020.csv | awk '{print $3}' | sort | uniq -c
4245 3
5124 4
6912 5
2284 6
1240 7
193 8
2 9
摇号主申请人
太多人从第一年就开始了参与摇号了。
➜ Downloads cat car-2020.csv | awk '{print substr($6, 1, 4)}' | sort | uniq -c |
看了下,从第一期摇号的就有 1367 个。
➜ Downloads cat car-2020.csv | awk '{print substr($6, 1, 7)}' | sort | uniq -c |
中签者老家哪里的?
这个,需要借助身份证号对应的行政区域了,思路跟之前 没想到 Shell 命令竟然还能这么玩?| Shell 玩转大数据分析 这篇文章上一样,直接给结论吧。先看按照省这个级别来划分的。
➜ Downloads join -1 2 -2 1 <(cat car-2020.csv | awk '{print substr($2, 1, 2)}' |sort | uniq -c | sort -k1 -nr | head -n 30 | sort -k2) id-area.code2.sort.txt | sort -k2 -nr |
- 第一列:身份证开头的两位,基本定位到省;
- 第二列:对应的人数
- 第三列:对应省
从中可以看出,还是老北京占比最大,占比74%了。石头想找个免费的热力地图生成工具展示一下的,短时间之类没找到,先放弃了。
- 再看看到市区级别的,参考身份证前 6 位。
先看看前 30 的吧,基本也就是围绕着北京了。
➜ Downloads join -1 2 -2 1 <(cat car-2020.csv | awk '{print substr($2, 1, 6)}' |sort | uniq -c | sort -k1 -nr | head -n 30 | sort -k2) address_code_uniq.csv | sort -k2 -nr |
其中,address_code_uniq.csv 来自 https://raw.githubusercontent.com/jxlwqq/address-code-of-china/master/address_code.csv,有个坑的地方就是政府官方网站下载的行政区域代码数据 http://www.mca.gov.cn//article/sj/xzqh/2020/是最新的,有的行政区域代码已撤销,不再使用。(幸亏石头校验了一下结果数据,发现相差比较大)
但之前已经核发的身份证中不能作废吧。举个例子:行政区划代码110223(北京市 通县)已撤销,新发的身份证中不再使用。
另外,还发现有一例不是用身份证号码作为证件号码的?看样子是护照?CH1HFP********
这个,我也不懂了。
先就这么多吧。另外,若感兴趣的朋友需要本文分析的数据集合用作交流学习使用,可回复“积分排序”获取处理的 Excel和 CSV 文件。
附《摇号解题积分对照表》
回到题目本身,这个㊙️秘密就是:如果要想家庭摇号尽早“中签”,那就赶紧生娃吧,哈哈哈😝,别打我。
关于作者:程序猿石头(ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader,欢迎关注,交流和指导!
欢迎扫码加入互联网大厂内推群 & 技术交流群,一起学习、共同进步。后台回复关键字 “0” 送阿里技术大礼包。