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

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

相关文章

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

Redis事务与数据持久化方式

《Redis事务与数据持久化方式》该文档主要介绍了Redis事务和持久化机制,事务通过将多个命令打包执行,而持久化则通过快照(RDB)和追加式文件(AOF)两种方式将内存数据保存到磁盘,以防止数据丢失... 目录一、Redis 事务1.1 事务本质1.2 数据库事务与redis事务1.2.1 数据库事务1.

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

Java如何接收并解析HL7协议数据

《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结

Mybatis拦截器如何实现数据权限过滤

《Mybatis拦截器如何实现数据权限过滤》本文介绍了MyBatis拦截器的使用,通过实现Interceptor接口对SQL进行处理,实现数据权限过滤功能,通过在本地线程变量中存储数据权限相关信息,并... 目录背景基础知识MyBATis 拦截器介绍代码实战总结背景现在的项目负责人去年年底离职,导致前期规