本系列主要分为三部分:
上篇:报告框架与项目管理
中篇:分析方法与图表设计
下篇:数据处理与Python实战
03数据体系与Python实战在确定的报告框架和分析模型下,要实现报告准确、高效的长期输出,就需要一套数据体系的支撑。这个环节会涉及较多的数据处理技术,需要用到Python工具。
关于Python数据处理,很多朋友问我怎么学,怎么用。本文以上海疫情数据处理为例,简单介绍如何使用Python搭建自己的数据体系。本文重点讲在数据处理流程中如何使用Python,而非如何编程写代码,正文不涉及代码,文末提供示例项目代码资料。
3.1Python数据处理基本框架
首先,我们明确一下,Python能做什么,为什么较复杂的数据处理一定会用到Python。
日常工作中90%以上的数据相关处理,都可以用Excel完成。但Excel处理数据的前提是,数据必须是“表格化”的形式,否则Excel无能为力。
以上海阳性病例的小区报告数据为例,如果数据是这样的表格形式,那么用Excel还是Python处理基本没有区别。
(上海小区阳性数据:标准化)
但实际上,能获取的原始数据是这样的:
(上海小区阳性数据:非标准化)
数据来源:上海发布-疫情数据
每天上海发布中,这样的非标准化数据有~条;3.19~5.2日,这样的小区数据条目有15.万条。这样规模和形式的数据,已经远远超出Excel、手动可以处理的能力。
数据处理:Excel与Python功能定位差异
简要地说,Python在数据处理中,主要可以做5类工作:
1)数据获取:通过爬虫程序等工具,爬取网上数据,形成原始数据源。
2)数据标准化:通过数据清洗、整合,将原始的非标准的数据(如文字),转化成标准数据(Excel型数据)。
3)数据报表化:通过数据分析程序,对标准化的数据进行计算、分析处理,形成数据指标报表。
4)数据可视化:将数据报表转化成可视化的图表,用于最终呈现。
5)流程自动化:整合数据处理流程,将多个环节整合,实现原始数据更新后,分析结果的自动化输出。(相当于把工作流程的SOP交给程序去实现。)
以上海各区阳性人员的闭环/社会面传播情况为例:
3.2数据源与数据获取
获取数据源是数据工作的第一步,广义的数据,即包括上海市疫情统计数据,也包含社区疫情统计、上海市人口数据等(用于计算各区的感染比例)。
涉及数据处理的,主要是上海疫情发布数据,来源只有一个:上海发布