Python数据整理
上QQ阅读APP看书,第一时间看更新

1.1 引言

数据科学与分析正在控制整个世界,而且数据科学家也被称为21世纪最出色的职业之一。尽管我们强调数据的重要性,但是真正让数据从业人员变得有价值的却是数据科学。

对数据进行高质量科学操作的前提是,需要确保能正确地获取、清理、格式化和预处理数据。本书介绍了数据科学管道中最基本的、至关重要的组成部分:数据整理。简而言之,数据整理是确保数据格式干净、准确、规范并可用于数据分析的过程。

位于加州大学圣地亚哥分校(University of California San Diego,UCSD)的超级计算机中心,有一个对大量数据进行数据整理的著名例子。加州的野地火灾问题非常常见,主要起因是干燥的天气以及极端的高温,在夏天尤为严重。UCSD超级计算机中心的数据科学家通过收集数据来预测火灾的特性和蔓延方向。这些来自气象站、森林中的传感器、消防站、卫星图像和推特简讯等不同来源的数据,可能存在数据不完整或数据丢失的情况,因此需要对这些数据进行清理和格式化,才能用于预测野地火灾的发生。

这个例子证明了数据整理和数据科学的实用性与相关性。

数据整理的重要性

我们知道从钻井平台出来的石油不能直接使用,必须要经过精炼提纯。同样地,数据也必须经过整理、处理和提取,才能用于智能算法与消费产品,这就是所谓的数据整理。大多数数据科学家的大部分时间用于数据整理。

数据整理通常在数据科学或分析管道的最初阶段进行。在数据科学家确定用于解决业务问题的有用数据源(例如,内部数据库存储的数据、互联网上的数据或流式传感器数据)之后,下一步就是从这些数据源中提取、清理和格式化必要的数据。

一般来说,数据整理工作主要包括以下几个步骤:

·从多个源(包括网络和数据库表)抓取原始数据;

·填补、格式化和转换数据——使其基本可在建模过程中使用(如高级机器学习);

·处理读/写错误;

·检测异常值;

·执行快速可视化(绘图)和基本统计分析,以判断格式化数据的质量。

一个典型数据科学管道中数据整理的定位和基本功能角色,如图1-1所示。

图1-1 数据整理过程

数据整理过程的首要任务或第一步是找到分析所需的合适数据,这些数据可以来自一个或多个源,例如推特上的消息、关系数据库中的银行交易报表、传感器数据等。我们需要对这些数据先进行清理。如果有缺失的数据,我们将利用多种技术删除或替换它。如果有异常值,我们需要首先检测异常,然后适当地处理它们。如果数据来自多个源,我们只能用合并操作合并它。

在极其罕见的情况下,可能用不上数据整理。例如,如果机器学习任务所需的数据已经以可接受的格式存储在内部数据库中,那么一个简单的SQL查询就足以将数据提取到表中,为建模做好准备。