分析了获得家庭摇号新能源指标的数据后,我发现了一个秘密

2024-04-13 04:48

本文主要是介绍分析了获得家庭摇号新能源指标的数据后,我发现了一个秘密,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击上方蓝色字体,关注我 ——

一个在阿里云打工的清华学渣!

图:清华主楼,from 一个师弟的朋友圈

关于作者:程序猿石头(ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader。用不同的视角分享高质量技术文章,以每篇文章都让人有收获为目的,欢迎关注,交流和指导!

背景

这两天公布了北京首批家庭新能源小客车指标积分排序结果。

当然,意料之中,很遗憾,本人并未入围,排名 8W 左右。看样子,要想新能源积分排序上去,还得抓紧增加家庭代际数啊,假设生个娃,我的分数直接近 60 了,还是有希望能尽快排到的。

积分排序结果

看看数据涨啥样

让我们来看看这些数据都是怎样的?

网站下载了 pdf,不便于分析,显然作为程序猿还是习惯用程序员的方式来进行分析,首先还是先转为纯文本文件吧,可转换为 csv。(官网下载地址:https://www.bjhjyd.gov.cn/jggb/2020910/1599732631719_1.htm)

  1. 网上有工具,可上传 pdf,转 csv。

  2. 可以直接 copy 出来,粘贴纯文本即可。笔者采用了这种方式很快。

有了前面这两篇文章作为基础,下面这些数据可轻易获得:

  1. 提升开发效率N倍的20+命令行神器!(附 demo)

  2. 没想到 Shell 命令竟然还能这么玩?| Shell 玩转大数据分析

因为 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 
摇号数据集csv
分数分析

首先,文件结果直接按照分数倒序的。

  • 最高分 228 分,家庭共 7 个人组成。

  • 最低分 72 分,2 代 4 人的家庭居多,也有 3 代 4 人的。

cat car-2020.csv | awk '{print $5}'  | uniq -c  | sort -k 1 -nr
积分分布

看看分数的分布,大多数围绕着 70 -120 分之间,占比 80%。

家庭情况
  • 家庭代数, 近 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 7193 82 9
    
主申请人

太多人从第一年就开始了参与摇号了。

➜  Downloads cat car-2020.csv | awk '{print substr($6, 1, 4)}'  | sort | uniq -c
6874 2011
7401 2012
3729 2013
1384 2014482 2015111 201619 2017

看了下,从第一期摇号的就有 1367 个。

➜  Downloads cat car-2020.csv | awk '{print substr($6, 1, 7)}'  | sort | uniq -c 
1367 2011-01797 2011-02665 2011-03519 2011-04473 2011-05356 2011-06424 2011-07448 2011-08407 2011-09516 2011-10434 2011-11468 2011-12
中签者老家哪里的?

这个,需要借助身份证号对应的行政区域了,思路跟之前 没想到 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
11 14792 北京市
13 1101 河北省
37 638 山东省
41 360 河南省
14 330 山西省
23 296 黑龙江省
21 291 辽宁省
42 239 湖北省
15 224 内蒙古自治区
22 217 吉林省
43 175 湖南省
61 174 陕西省
34 169 安徽省
32 162 江苏省
51 161 四川省
36 135 江西省
12 107 天津市
62 82 甘肃省
33 64 浙江省
35 53 福建省
65 46 新疆维吾尔族自治区
64 34 宁夏回族自治区
45 33 广西壮族自治区
50 21 重庆市
63 19 青海省
53 19 云南省
44 19 广东省
52 17 贵州省
31 12 上海市
46 6 海南省
  • 第一列:身份证开头的两位,基本定位到省;

  • 第二列:对应的人数

  • 第三列:对应省

从中可以看出,还是老北京占比最大,占比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
110111 1592 房山区
110223 1531 通县
110224 1439 大兴县
110108 1109 海淀区
110105 1108 朝阳区
110222 1075 顺义县
110229 846 延庆县
110106 734 丰台区
110221 725 昌平县
110226 610 平谷县
110228 599 密云县
110102 570 西城区
110227 557 怀柔县
110101 475 东城区
110104 471 宣武区
110109 415 门头沟区
110103 382 崇文区
110107 332 石景山区
110225 189 房山县
131082 43 三河市
230103 34 南岗区
140202 28 城区
110110 25 燕山区
220104 24 朝阳区
150102 23 新城区
130102 23 长安区
610103 22 碑林区
130203 21 路北区
420106 19 武昌区
130681 18 涿州市

其中,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/是最新的,有的行政区域代码已撤销,不再使用。(幸亏石头校验了一下结果数据综合,发现和总数 2000 相差比较大)

但之前已经核发的身份证总不能作废吧。举个例子:行政区划代码110223(北京市 通县)已撤销,新发的身份证中不再使用。

另外,还发现有一例不是用身份证号码作为证件号码的?看样子是护照?CH1HFP******** 这个,我也不懂了,有知道的朋友么?

先就这么多吧。另外,若感兴趣的朋友需要本文分析的数据集合用作交流学习使用,可回复“积分排序”获取处理的 Excel和 CSV 文件。

附《摇号解题积分对照表》

回到题目本身,这个㊙️秘密就是:如果要想家庭摇号尽早“中签”,那就赶紧生娃吧,哈哈哈,别打我。

后记

觉得本号分享的文章有价值,记得添加星标哦。周更很累,不要白 piao,需要来点正反馈,安排个 “一键三连”(点赞、在看、分享)如何????? 这将是我持续输出优质文章的最强动力。

推 荐 阅 读

快快加入我们——“阿里云-ECS/神龙计算平台” 招人啦
面试官:会玩牌吧?给我讲讲洗牌算法和它的应用场景吧!

面了 7 轮 Google,最终还是逃不脱被挂的命运

从一道面试题谈谈一线大厂码农应该具备的基本能力

程序猿石头 

程序猿石头(ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader。用不同的视角分享高质量技术文章,以每篇文章都让人有收获为目的,欢迎关注,交流和指导!扫码回复关键字 “1024” 获取程序员大厂面试指南。

这篇关于分析了获得家庭摇号新能源指标的数据后,我发现了一个秘密的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899181

相关文章

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录