30个数据工程中最常用的Python库(下)

图片

图片

六、数据解析和ETL库

库:beautifulsoup4

数据工程并不总是意味着从数据存储和仓库中获取数据。通常,数据需要从非结构化的来源(如网络或文档等)中提取出来。Beautiful Soup是一个库,它可以轻松地从网页上抓取信息。它建立在HTML或XML解析器之上,提供了用于迭代、搜索和修改解析树的Python风格的习语。这使得Beautiful Soup成为用于数据工程领域的流行Python库,因为它易于使用,允许开发者轻松地从非结构化的来源提取和操作数据。

PyPI页面:https://pypi.org/project/beautifulsoup4

主页:https://www.crummy.com/software/BeautifulSoup

七、 机器学习和深度学习库

7.1 库:scikit-learn

scikit-learn是一个Python机器学习模块,建立在SciPy基础之上,由David Cournapeau、Fabian Pedregosa和Andreas Müller于2007年创建,它是其他框架(如PyTorch和TensorFlow)的先驱。它在分类、回归和聚类方面具有重要意义,并提供了预处理和特征工程工具。这使得数据工程师能够快速轻松地构建机器学习模型和管道。

PyPI页面:https://pypi.org/project/scikit-learn

主页:https://scikit-learn.org/stable/

7.2 库:TensorFlow和Keras

TensorFlow是一个著名的机器学习库,允许工程师构建和训练模型。它提供了一个灵活的平台,用于训练和部署模型,重点是深度神经网络的训练和接口。TensorFlow通常与Keras搭配使用,Keras是一个用Python编写的高级API,用于构建和训练深度学习模型。它封装了高效的数值计算库Theano和TensorFlow,并允许工程师只使用少量代码来构建和训练模型。数据工程师也可以使用TensorFlow进行数据预处理、数据转换、数据分析和数据可视化等任务。

PyPI页面:https://pypi.org/project/tensorflow

主页:https://www.tensorflow.org

PyPI页面:https://pypi.org/project/keras

主页:https://keras.io

7.3 库:PyTorch

尽管TensorFlow得到了广泛的应用,但它的学习曲线仍然非常陡峭,因此PyTorch应运而生,成为其他成熟的深度学习框架之外的一种的更加灵活、用户友好的替代方案。由于其易用性,PyTorch现在已成为增长最快的平台之一,不仅性能得到了提升,而且与NumPy、Pandas和TensorFlow等其他工具进行了更广泛的集成。数据工程师非常适合使用该平台,因为它是最早提供动态计算图框架的平台之一,允许灵活高效地构建和训练模型。

PyPI页面:https://pypi.org/project/torch

主页:https://pytorch.org

7.4 库:virtualenv

数据工程师需要为数据工程和软件包版本使用不同的Python库,因此拥有一个独立的虚拟环境是至关重要的。Virtualenv是一个用于创建独立Python环境的工具,可确保在各种系统设置中不会发生干扰。自Python 3.3以来,其子集已经集成到标准库的venv模块中。对于具有复杂依赖关系或需要在不同版本Python上运行的项目,Virtualenv尤为重要。

PyPI页面:https://pypi.org/project/virtualenv

主页:https://virtualenv.pypa.io/en/latest

八、环境、部署和分发库

8.1 库:Docker和Kubernetes

像Docker这样的容器库在工程领域变得至关重要,因为它们可以将应用程序或服务打包并以一致且可预测的方式部署。这包括运行时环境(如Python等)、库、数据库、配置文件和其他依赖项。Docker等容器通常与Kubernetes等容器编排工具结合使用,以管理容器化应用程序的部署和扩展。Kubernetes可自动完成容器化应用程序的部署、扩展和管理,使开发人员能够大规模部署和管理应用程序,并具备负载均衡、自动扩展和自我修复等功能。

PyPI页面:https://pypi.org/project/docker

主页:https://github.com/docker/docker-py

PyPI页面:https://pypi.org/project/kubernetes

主页:https://kubernetes.io

8.2 库:Dask

Dask的创建初衷是在多个CPU上并行化NumPy(用于科学计算和数据分析的Python库),现在它已经发展成为一个通用的并行计算库,包括对Pandas DataFrames的支持,以及对XGBoost和scikit-learn的高效模型训练。由于Dask内置的函数和并行处理能力使得数据工程师能够更高效、更快地处理大型数据集,如数据清洗、转换、聚合、分析和探索(支持Matplotlib和Seaborn)。数据工程师还可以使用Dask通过分布式调度器扩展工作负载,以在机器集群中调度作业。

PyPI页面:https://pypi.org/project/dask

主页:https://github.com/dask/dask

8.3 库:Ray

Ray是由加州大学伯克利分校孵化的项目,其使命是“简化分布式计算”,并轻松扩展Python工作负载,包括机器学习工作负载。与Dask类似,Ray旨在简化Python代码的并行化,并使分布式应用程序的构建变得更加容易。Ray并不试图替代流行的Python工作负载工具,而是提供一个通用的底层框架,它更像是一个通用的集群和并行化框架,可用于构建和运行任何类型的分布式应用程序。因此,也有越来越多的项目与Ray集成,以利用加速的GPU和并行计算,包括与Dask、Ludwig、spaCy、Hugging Face和scikit-learn的集成。

PyPI页面:https://pypi.org/project/ray

主页:https://github.com/ray-project/ray

8.4 库:Ansible

另一个流行的用于自动化的Python库是Ansible,用于云环境配置、配置管理、应用部署、服务内编排以及管理多个服务器或环境。Ansible库类似于其他基于推送的配置管理和编排工具,如Chef、SaltStack和Puppet。然而,Ansible与这些工具的不同之处在于它是无需代理的,并且使用简单易读的语言(YAML)来描述自动化任务。Ansible还确保操作是幂等的,即“如果执行一次操作的结果与重复执行多次而没有任何干预操作的结果完全相同,则该操作是幂等的”。

PyPI页面:https://pypi.org/project/ansible

主页:https://www.ansible.com

8.5 库:python-jenkins和jenkinsapi

Jenkins是一个成熟的持续集成/持续交付工具,用于自动化构建、测试应用程序和服务并将其部署到服务器上。与Jenkins交互的两个流行的Python库是python-jenkins和jenkinsapi。在数据工程的背景下,python-jenkins库可以用于自动化与数据管道和数据处理相关的各种任务,包括测试、作业配置、数据摄取、数据清洗和数据转换。你可以使用该库来监视Jenkins作业的状态、检索作业日志并取消正在运行的作业。类似地,JenkinsAPI库可以在数据工程中用于自动化构建和部署数据管道以及其他相关任务。

PyPI页面:https://pypi.org/project/jenkinsapi

主页:https://www.jenkins.io

九、实用工具库

9.1 库:psutil

psutil(进程和系统工具)是一个跨平台的Python库,用于检索有关正在运行的进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。它主要用于系统监控、进程运行管理和性能分析。它实现了许多经典UNIX命令行工具(如ps、top、iotop、lsof、netstat、ifconfig、free等)提供的功能。在数据工程方面,它提供了各种工具来限制进程使用的资源,包括CPU、内存、磁盘和网络使用,从而使工程师能够确保进程不会消耗过多资源,以免对系统性能造成潜在影响。

PyPI页面:https://pypi.org/project/psutil/

主页:https://github.com/giampaolo/psutil

9.2 库:urllib3

urllib3是一个功能强大、用户友好的Python HTTP客户端,具有线程安全性、支持压缩、客户端验证和许多其他在Python标准库中缺少的实用工具。主要功能包括支持HTTP请求(GET、PUT、POST、DELETE)、操作标头、启用超时和支持Cookie。

PyPI页面:https://pypi.org/project/urllib3

主页:https://urllib3.readthedocs.io/en/stable

9.3 库:python-dateutil

在Python中,操作日期和时间的需求无处不在,而内置的datetime模块往往无法满足需求。dateutil模块是标准datetime模块的一个常用扩展。如果需要实现时区、计算时间差或者需要更强大的通用解析功能,那么这个库是一个不错的选择。

PyPI页面:https://pypi.org/project/python-dateutil

主页:https://github.com/dateutil/dateutil

9.4 库:pyyaml

大多数开发者都熟悉YAML,这是一种人类可读的数据序列化格式,通常用于存储配置数据,最初用于构建配置文件,但由于它是一种序列化语言,它的用途已经扩大,现在也常用于代替JSON等文件格式进行对象序列化。在数据工程中,pyyaml经常用于配置容器编排、数据管道、批处理作业和数据处理的通用工作流程。

PyPI页面:https://pypi.org/project/PyYAML

主页:https://pyyaml.org/

9.5 库:pyparsing

这个模块是正则表达式的一个流行替代品,可用于构建和执行基本的文本解析器。它可以用于评估用户自定义表达式、处理自定义应用程序语言命令或从格式化报告中提取数据。

PyPI页面:https://pypi.org/project/pyparsing

主页:https://github.com/pyparsing/pyparsing

十、结语

如上所述,数据工程领域有大量的Python库,这些库涉及数据工程工具和工作流程的堆栈和使用。因此,需要学习更多的书籍或视频、参与技术会议(论坛)等,进而不断了解数据工程,提高对数据的可操作性。

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取保证100%免费

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值