作者:Riti Dass
译者:LJY
整理:Lemonbit
译文出品:Python数据之道
Python探索性数据分析教程
介绍
每个数据科学家都必须掌握的最重要的技能之一是正确研究数据的能力。彻底的探索性数据分析 (EDA, Exploratory Data Analysis) 是必要的,这是为了确保收集数据和执行分析的完整性。
本教程使用的示例是对历史上 SAT 和 ACT 数据的探索性分析,以比较不同州 SAT 和 ACT 考试的参与度和表现。在本教程的最后,我们将获得关于美国标准化测试的潜在问题的数据驱动洞察力。本教程的重点是演示探索性数据分析过程,并为希望练习使用数据的 Python 程序员提供一个示例。
为了这个分析,我在 Jupyter 中检查和操作了包含 2017 年和 2018 年 SAT 和 ACT 数据的 CSV 数据文件。通过构造良好的可视化和描述性统计来研究数据,是了解你正在处理的数据并根据你的观察制定假设的绝佳方法。
探索性数据分析(EDA)目标
1)快速描述一份数据集:行/列数、数据丢失情况、数据的类型、数据预览。
2)清除脏数据:处理丢失的数据、无效的数据类型和不正确的值。
3)可视化数据分布:条形图,直方图,箱型图等。
4)计算并可视化展示变量之间的相关性(关系):热图 (heatmap)。
数据驱动方法的好处
标准化测试程序多年来一直是一个有争议的话题, 已经为众人所知。通过初步研究,我很快发现了 SAT 和 ACT 考试中一些明显的问题。
例如,有些州只要求学生参加 SAT,有些州只要求学生参加 ACT,有些州要求学生两种考试都要参加,还有些州要求选择性标准化考试,或者每个学生都必须参加他们选择的一种标准化考试。
每个州制定的标准化考试预期之间的这种差异,应该被视为州与州之间考试记录存在偏差的一个重要来源,比如参与率和平均成绩。研究可能是重要的,但采取数据驱动的方法来支持基于定性研究的主张(假设)是必要的。采用数据驱动的方法可以验证以前提出的断言/假设,并基于对数据的彻底检查和操作开发新的见解。
入门
请从 GitHub 链接:
https://github.com/cbratkovics/satactanalysis
下载代码或数据,以方便跟随教程:
使用 Python 研究数据的第一步是确保导入了正确的库。
在本文中,我们需要的库是 NumPy,Pandass,Matplotlib 和 Seaborn。导入库时,可以为其分配别名,以减少使用每个库属性所需的键入量。下面的代码显示了必要的 import 语句:
使用 Pandas 库,你可以将数据文件加载到容器对象(称为数据帧, dataframe)中。顾名思义,这种类型的容器是一个框架,它使用 Pandas 方法 pd.read_csv() 读入的数据,该方法是特定于 CSV 文件的。将每个 CSV 文件转换为 Pandas 数据帧对象如下图所示:
检查数据 & 清理脏数据
在进行探索性分析时,了解您所研究的数据是很重要的。幸运的是,数据帧对象有许多有用的属性,这使得这很容易。当基于多个数据集之间比较数据时,标准做法是使用(.shape)属性检查每个数据帧中的行数和列数。如图所示: