数据工程 103:数据工程中的中级概念(Python 和 SQL)
数据工程 103:数据工程中的中级概念(Python 和 SQL)
熊猫
Pandas 是一个 Python 库,其中包含的功能使其在处理数据集时可用于分析、清理、探索和操作数据。
有趣的事实 :“Pandas”的命名是参考“Panel Data”和“Python Data Analysis”的结果。它是由麦金尼在 2008 年创建的。
你可以用熊猫做什么?
相关数据在数据科学中非常重要。使用 pandas,您可以分析大数据并就统计理论得出结论,为您提供有关数据的答案,例如:
- 两列或多列之间是否存在相关性?
- 平均值是多少?
- 什么是最大值/最小值?
Pandas 还可以清理杂乱的数据集,使它们具有可读性和相关性。它通过删除冗余且包含错误值的行来做到这一点( 空条目 )。
给出一个例子:
导入和读取数据 ** CSV** 文件格式。这 ** 头()** 函数显示数据的前 5 行。我使用了易患心脏病患者的记录数据,这些数据捕获了用于预测他们患心脏病的风险因素。
导入和读取数据 ** JSON** 文件格式。
如图所示,您可以通过清除数据中的任何 NULL 条目来检查数据中的不一致。幸运的是,数据没有缺失值。数据清洗(清理杂乱数据)已在另一篇文章中进行了广泛的探讨(见文末)。
您还可以提供数据的汇总统计信息—— 最小值、平均值、最大值、标准 — 对于一般视图,使用 ** 描述()** 函数,还显示有关数据的概览信息( 像数据类型 ) 使用 ** 信息()** 功能。
要了解更多关于 Pandas 的信息,请查看 熊猫官方文档 .
麻木的
Numpy 是一个用于处理数组的 python 库。它具有使其适合在以下领域工作的功能 线性代数 , 傅里叶变换 , 和 矩阵 .
有趣的事实:Numpy 部分是用 Python 编写的,但大多数需要快速计算的部分是用 C 或 C++ 编写的。
你可以用 Numpy 做什么?
为什么是数组?在 Python 中,列表可以起到数组的作用,但处理起来很慢。因此,Numpy 提供了一个比传统 Python 列表快 50 倍的数组对象
- 数组对象被称为 ** 数组** . Numpy 提供了许多支持功能,可以使用 数组 简单的。
- 与列表不同,Numpy 数组存储在内存中的一个连续位置。因此,进程可以非常有效地访问和操作它们,即 参考地点 .
- Numpy 还针对最新的 CPU 架构进行了优化。
- 数组在数据工程和数据科学中非常常用,其中速度和资源具有很高的价值。
给出一个例子:
创建一个 Numpy ndarray 对象。我们可以通过使用创建一个 Numpy ndarray 对象 ** 大批()** 功能。 ** 类型()** 是一个内置的 Python 函数,它告诉我们传递给它的对象的类型。
您还可以创建一个具有 5 个维度的数组并验证它是否具有 5 个维度。在这个数组中,最里面的维度(第 5 个维度)有 4 个元素,第 4 个维度有 1 个元素是向量,第 3 个维度有 1 个元素是向量的矩阵,第 2 个维度有 1 个元素是 3D 数组第一个暗淡有 1 个元素,它是一个 4D 数组。
你可以生成 随机的 数组 整数/浮点数 类型 数字。这 ** 随机数()** 方法采用大小参数,您可以在其中指定数组的形状。
要探索有关 Numpy 的更多信息,请查看 官方 numpy 文档 .
用于数据工程的 SQL
SQL 代表 ** 结构化查询语言** .它是一种标准语言,使您能够在数据库中存储、操作和检索数据。每个数据库系统包括 ** PostgreSQL** , ** SQLite** , ** MySQL、SQL 服务器、** 等有它自己实现的 SQL 的“风格”,因为它们不是 100% 符合 SQL ** ANSI/ISO** 标准。
你可以用 SQL 做什么?
- SQL 可以对数据库执行查询。
- SQL 可以从数据库中检索数据。
- SQL 可以将记录插入数据库。
- SQL 可以更新数据库中的记录。
- SQL 可以从数据库中删除记录。
- SQL 可以创建新的数据库。
- SQL 可以在数据库中创建新表。
- SQL 可以在数据库中创建存储过程。
- SQL 可以在数据库中创建视图。
- SQL 可以设置表、过程和视图的权限。
关系型数据库管理系统
RDBMS 代表关系数据库管理系统,是 SQL 和所有现代数据库系统(如 ** PostgreSQL、MS SQL Server、Oracle、MySQL、MS Access、** 和 ** IBM DB2** . RDBMS 中的数据存储在称为表的数据库对象中。一个 ** 桌子** 是相关数据条目的集合,由列和行组成。
SQL 实践示例
在这个实践示例中,我们创建了一个名为 ** 后勤** .在数据库中,我们创建了两个表—— ** 驱动程序** 和 ** 车辆** 并用数据填充它们。然后我们使用 SQL 来操作和查询所述数据。我们可以使用任何数据库系统来完成这项任务;我用了 ** PostgreSQL** 对于这个例子。
要求 : 有 PostgreSQL ( ** psql 客户端** ) 安装在您的系统中 ( Postgres 安装 ) 能够在本地练习并保存您的查询和数据库状态。
或者,您可以使用 ( 托管工作区 ) 您可以在其中练习查询。工作区安装了 Postgres 和所有必需的软件/工具,以提供方便 。
使用psql客户端,使用命令创建数据库物流:( 创建数据库物流; )。使用 ** “\l”** 命令。
注意 : 您可以使用默认数据库( ** postgres** ) 安装时提供 ** psql** , 用于后续任务。
创建表 ** 驱动程序** 和 ** 车辆** 使用中所示的 SQL 语句 ** psql 客户端** .这些语句已经在托管工作区中创建——只需运行代码。
操作和查询数据
- 在司机和车辆中插入一些记录。包括 3 条有车司机的记录,属于车辆表。
2. 选择所有司机记录;选择所有车辆记录;仅选择 3 个车辆记录(使用 限制 )。
3. ID 2 的司机不再拥有任何车辆。更新数据库以反映这一点。
4. ID 为 1 的司机现在除了之前拥有的车辆外,还拥有一辆新车。更新数据库以反映这一点。
加入和分组依据
- 全选 ** 车辆** 拥有者 ** 司机** 和 ** 编号 3** .
- 全选 ** 车辆** 拥有者 ** 司机** 名字叫“莎拉”(不知道他们的身份证)。
- 显示数量表 ** 车辆** 每人拥有 ** 司机** .
- 显示数量 ** 司机 ** 拥有一个 ** 日产** 模型。
结构化数据
- 添加有关信息 车辆颜色 .
- 更新所有现有的 车辆 记录有一个 车辆颜色 .
- 添加联系信息( 电子邮件地址 ) 到司机桌。
您现在已经探索了关系数据库系统上的基本 CRUD 操作。在另一篇文章中更全面地探讨了数据清洗。
你的, Ashtone Onyango
推特 .
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明