程序员花了14个小时找了一下长春长生们究竟卖到了哪里去

简介: 全文的观点从技术讨论出发,尽量客观中立,观点及行为为员工自发,不代表本人所在公司及团队。需要说明的是这次数据是涵盖所有的疫苗数据,并不是针对此次问题疫苗定向搜集的数据,所有数据皆来自于政府相关网站的公开数据。

01前言

全文的观点从技术讨论出发,尽量客观中立,观点及行为为员工自发,不代表本人所在公司及团队。

需要说明的是这次数据是涵盖所有的疫苗数据,并不是针对此次问题疫苗定向搜集的数据,所有数据皆来自于政府相关网站的公开数据。

02数据采集源


因为有一些数据实在太难找了,只能来看一下近两年的数据,并且不考虑疫苗增补名单数据(太零碎了)。

所以这次整理的数据并不完善。

因为时间跨度较大,所以没有把批次的信息纳入本次的统计范围。本文主要从技术层面搜集了此次问题疫苗事件相关企业生产的各类疫苗在各省份的销售情况。

采集关键词

省名 第二类疫苗 采购

省名 第二类疫苗 公示

省名 第二类疫苗 产品及价格

省名 第二类疫苗 供应商

省名 第二类疫苗 中标目录

省名 第二类疫苗 参考价

省名 第二类疫苗 入围结果

采集结果整理如下

北京市,来源:北京市2018-2019年免疫规划用第二类疫苗采购项目

天津市,来源:天津市2018-2020年第二类疫苗集中采购项目拟中标/拟中选结果

上海市,来源:2018 年度上海市第二类疫苗集团采购项目中标目录

重庆市,来源:重庆市第二类疫苗供应商入围采购-采购结果预公示

河北省,来源:河北省疾病预防控制中心2018年度第二类疫苗省级集中采购项目中标公告

山西省,来源:2018年度山西省第二类疫苗集中采购入围企业产品及价格

辽宁省,来源:辽宁省第二类疫苗平台招标采购公告

吉林省,来源:2017年度吉林省第二类疫苗集中采购企业产品议价结果名单

黑龙江省,来源:黑龙江省2018年第二类疫苗挂网采购中标企业产品及价格审核结果

江苏省,来源:江苏省第二类疫苗集中采购中标产品

浙江省,来源:浙江省2018年第二类疫苗中标目录

安徽省,来源:安徽省2018年第二类疫苗集中采购目录

福建省,来源:福建省2018年第二类疫苗集中采购目录_湄洲岛

江西省,来源:1228江西省2018年度第二类疫苗入围品种目录

山东省,「找不到」

河南省,来源:2017年河南省二类疫苗供应商入围资格采购项目中标结果公告

湖北省,来源:2017年湖北省第二类疫苗集中采购成交产品

湖南省,来源:湖南省第二类疫苗集中采购文件

广东省,来源:2018年度广东省第二类疫苗成交品种目录

海南省,来源:海南省第二类疫苗品种目录(第一批)

四川省,来源:2017年度第二类疫苗挂网阳光采购结果

贵州省,来源:贵州省第二类疫苗集中采购报价解密结果

云南省,来源:云南省疾病预防控制中心二类疫苗公开招标入围项目入围公告

陕西省,来源:陕西省2018年二类疫苗集中采购项目入围供应商磋商结果

甘肃省,来源:甘肃省第二类疫苗供应资格采购项目中标公示

青海省,来源:所有的第二类的价格信息全部转到:223.220.250.135:8038 无法查看

台湾省,暂无

内蒙古自治区,2018年内蒙古自治区第二类疫苗集中采购入围企业产品及价格

广西壮族自治区,2017年度广西壮族自治区第二类疫苗直接挂网采购拟入围产品目录(电子版)

西藏自治区,实在找不到

宁夏回族自治区,2016年宁夏回族自治区第二类疫苗公开招标预中标结果

新疆维吾尔自治区,《自治区2017年第二类疫苗入围品种及价格目录》20170828.xls

香港特别行政区,暂无

澳门特别行政区,暂无

综上,除去港澳台 ,山东,青海以及西藏以外,只搜集到了28个省级行政区的二类疫苗数据公示情况。

单单是检索,下载的过程,就花了7个多小时,主要遇到了一些问题:

某些网站需要注册登录才可以查看;

有些网站缺乏维护被挂了黑链;

搜索框有,但是实际并不能搜索;

有些只有图片,没有文字;

有些只在纯公告但无具体数据;

找不到信息的有:

山东省,只看到新闻说建了可追溯的展示平台,但本次暂未找到;

青海省,所有的第二类的价格信息需要账号登录进相关系统才能访问;

西藏,暂时没能搜索到相关数据。

如图,最终获取到28个省份的数据(图中漏掉了河北)。

image

03数据整理


由于本人不是专业的医学行业人士,所以统一把数据整理成以下的csv格式。
通用名,来源,生产企业,申报企业,省,中标年份

name,src,create_company,report_company,prov,year

各项含义如下:

通用名 :药名 -> name

来源:国产/进口 -> src

生产企业 -> create_company

申报企业:如果为空再填充为生产企业 -> report_company

省 -> prov

中标年份 -> year

期间因为整理非XLS的文件消耗了大量的时间,暂时只能先把成型的数据集提取出来。

image

目前处理结果如下:

数据标准csv(14)

吉林省,四川省,天津市,宁夏回族自治区,安徽省,山西省,广东省,新疆维吾尔自治区,江苏省,江西省,海南省,贵州省,辽宁省,黑龙江省

等待整理的数据(13)

上海市,云南省,内蒙古,北京市,广西省,河南省,浙江省,湖北省,湖南省,甘肃省,福建省,重庆市,陕西省

如图所示:

image

亮绿色是容易获取的数据;暗绿色的可以获取的数据;黑色的是没有获取到数据。

04数据分析


直接采用Pandas+Echart进行处理。首先把所有的csv整合,共有1529条数据,对所有的生成企业进行统计分析:
count    167.000000
mean       9.143713
std       15.839281
min        1.000000
25%        1.000000
50%        3.000000
75%        9.000000
max       98.000000

共 167 个厂家,其中中位数是3,最高是98,很明显这是一个偏态分布。顺手看一下箱线图:

image

也就是说,绝大多数的药,都由大厂生产。我们输出前10个看看,长春长生位列第2。

生产厂家 数量

image

我们再来看看各个省份中,长春长生等占据的百分比:

[{'name': '天津', 'value': 14.0625},
 {'name': '辽宁', 'value': 17.647058823529413},
 {'name': '黑龙江', 'value': 13.274336283185843},
 {'name': '安徽', 'value': 9.75609756097561},
 {'name': '新疆', 'value': 16.94915254237288},
 {'name': '江苏', 'value': 14.563106796116504},
 {'name': '江西', 'value': 12.179487179487179},
 {'name': '山西', 'value': 16.52173913043478},
 {'name': '吉林', 'value': 17.857142857142858},
 {'name': '贵州', 'value': 14.17910447761194},
 {'name': '广东', 'value': 13.445378151260504},
 {'name': '四川', 'value': 16.93548387096774},
 {'name': '宁夏', 'value': 17.5},
 {'name': '海南', 'value': 14.285714285714285}]

长春长生等在14个有数据的省份供应商中均占有一席之地:

image

亮红色接近20%;暗红色接近10%;黑色的是没有获取到数据。

对比下从官网下载的公司销售策略图:

image

做到这里已经花了整整14小时,才将将整理了一半的省份。所以目前的数据并不完整,仅供参考。

05后记


除了在朋友圈和微博刷屏表达我们的愤怒,或许我们还能做点什么,这也是我的出发点。最初的文章里面有些措辞不是太中性,抱歉,本只想在自己能力范围内做一点事情。

如果说有什么建议的话,希望相关部门在数据公示方面后续能继续加强吧。

原文发布时间为:2018-07-25
本文作者:w
本文来自云栖社区合作伙伴“Java杂记”,了解相关信息可以关注“Java杂记

相关文章
|
2月前
|
C# 开发者
这件事情我整整坚持了一年零一个月!
这件事情我整整坚持了一年零一个月!
|
6月前
|
机器学习/深度学习 程序员
程序员日常上下班通勤时间都在干什么?
对于许多人来说,通勤时间是每天工作日必不可少的一部分,但是对于程序员来说,通勤时间是一个宝贵的机会,可以利用这段时间做一些有意义的事情,而如何利用这段时间成为了一个重要的问题。那么本文就来简单分享一下程序员在日常上下班通勤时间里所做的事情,看看程序员们到底在干什么?以及展示他们如何充分利用这段时间提升自己和进行技术学习,还有程序员在通勤时间里的活动以及对个人发展的收获。
223 1
程序员日常上下班通勤时间都在干什么?
|
测试技术
做到这4点,花1个月考过软件评测试师不是梦
做到这4点,花1个月考过软件评测试师不是梦
|
程序员
程序员成长第十四篇:把时间用在最重要的事情上
程序员成长第十四篇:把时间用在最重要的事情上
106 0
|
前端开发 程序员
面试周连续剧之轻车熟路
接着上一篇文章继续聊面试经历,通过前两天的面试经历,以及不断总结完善自己的知识储备,又系统性的准备了一下前端面试知识点,应对一般的面试已经不成问题,可以说自己已经有了“反客为主”的能力,那么马上开启让人愉悦的面试第三天吧。
109 1
面试周连续剧之轻车熟路
|
移动开发 前端开发 小程序
面试周连续剧之首战大捷
2022年注定是一个不平凡的一年,因为有着难得一遇的对称日:20220222,即2022年2月22日,农历的正月廿二,也是星期二,总之是一个不平凡的一年。即然不平凡,那就得搞事情,然后就果断的选择找工作,顺便沾沾不平凡之年的运气。
104 1
面试周连续剧之首战大捷
|
程序员 区块链
面试周连续剧之走马观花
在前面四天的面试中已经适应了面试的套路和节奏,自己的知识储备也越来越完善,而且自己的要求也不是太高,个人以为自己是属于容易满足的那种类型,所以从面试的第三天开始就停止约面试了,但是好多招聘人事不知道在哪里搞得我的联系方式,直接就是安排面试,有一种推着你往前走的赶脚,所以已经开始拒绝约面和电面。俗话说的好,手中有offer,心里不慌,那么接下来就开启新的一天的面试经历吧!
138 1
面试周连续剧之走马观花
|
算法 搜索推荐 数据可视化
花了整整两周,小灰肝出一份算法路线图!
对于我们程序员来说,数据结构和算法是必须要掌握的内功。网络上有很多人整理过编程学习的路线图,但是有关数据结构和算法的却并不多。
227 0
花了整整两周,小灰肝出一份算法路线图!
|
算法 Java
一个多月的时间,终于把这件事做完了!
一个多月的时间,终于把这件事做完了!
122 0
一个多月的时间,终于把这件事做完了!
|
Web App开发 程序员
亲爱的老板:程序员的10分钟就是3个小时
导读:国外程序员艾德·韦斯曼(Ed Weissman )从业32年。某天老板告诉他产品有个问题,10分钟可以修复问题,谁知结果一干就是3个小时。本文就是艾德记录下的过程。 10:48 老板:嗨,艾德,苏在底特律说,“产品历史屏幕”上经常出现错误的发票号码(Invoice Part Number)。
921 0

相关实验场景

更多
下一篇
无影云桌面