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

news2025/1/16 3:56:37

图片

图片

六、数据解析和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%免费

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1617934.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

互联网营销两大宗师:周鸿祎和雷军做个人IP有什么不同?

前几天周鸿祎说要把自己的迈巴赫卖了,准备换国产新能源,还喊话让各个车企给他送车去体验。不少车企都送去了自己的最新车型,只有雷军直接回答,“等SUV出”。我们是在吃瓜,作者却是从中看到了新老营销宗师的手法不同。 最近,在纪念互联网30周年的座谈会上,发生了一件趣事…

高级控件4:Spinner

Spinner下拉列表组件 主要集合ArrayAdapter、SimpleAdapter以及自定义的Adapter(继承自BaseAdapter)配合使用实现下拉选择或者对话框中选择某一条目。下拉使用的更多,所以,接下来的案例也会重在演示下拉效果。 本次基本就是上代…

亚马逊运营干货:多账号多店铺防关联技巧

随着亚马逊识别技术的提升,以及政策的加强,不少跨境电商的卖家都面临着多账号多店铺被关联的风险,这个时候,卖家就需要做好相关的防关联措施了,下面这些方法很有效,可以去参考! 亚马逊多账号多…

如何在Windows服务做性能测试(CPU、磁盘、内存)

目录 前言1. 基本知识2. 参数说明 前言 由于需要做一些接口测试,测试是否有真的优化 1. 基本知识 该基本知识主要用来用到Performance Monitor,以下着重介绍下这方面的知识 性能监视器(Performance Monitor):Windo…

VUE的import store from ‘./vuex/store改为‘ import store from ‘./vuex/store.js‘

ERROR Failed to compile with 1 error 下午5:25:40 error in (webpack)-dev-server/client?http://10.18.173.180:8081/sockjs-node Syntax Error: no such file or directory, open D:\4myroom\H…

C++面向对象程序设计 - 运算符重载

函数重载就是对一个已有的函数赋予新的含义,使之实现新的功能。因此一个函数名就可以用来代表不同功能的函数,也就是一名多用。运算符也可以重载,即运算符重载(operator overloading)。 一、运算符重载的方法 运算符重…

DFS与回溯专题:二叉树的最大深度

DFS与回溯专题:二叉树的最大深度 题目链接: 104.二叉树的最大深度 题目描述 代码思路 设置两个变量,max来记录最大值,sum来记录路径的节点数量。利用dfs对二叉树进行搜索,遇到节点,则sum1;遇到叶子节点&…

路由过滤与引入

1、实验拓扑 2、实验要求 1、按照图示配置 IP 地址,R1,R3,R4 上使用 1oopback口模拟业务网段 2、运行 oSPF,各自协议内部互通 3、R1 和 R2 运行 RIPv2,R2,R3和R4在 RIP 和 oSPF 间配置双向路由引入,要求除 R4 上的业务…

Java web应用性能分析服务端慢之Nginx慢

一般Nginx作为整个应用的入口,即做静态服务器,也做负载均衡、反向代理;同时也因为位置靠前,还可以通过Nginx对于访问的IP、并发数进行相应的限制。在Java web应用性能分析中,Nginx是重要环节,Nginx的性能也…

SpringMvc(2)RequestMapping注解

RequestMapping注解 1 、RequestMapping的作用2、RequestMapping的出现位置3、类上与方法上结合使用4、RequestMapping注解的value属性4.1 value属性的使用4.2 Ant风格的value4.3 value中的占位符(重点) 5、RequestMapping注解的method属性5.2衍生Mappin…

VsCode一直连接不上 timed out

前言 前段时间用VsCode连接远程服务器,正常操作后总是连接不上,折磨了半个多小时,后面才知道原来是服务器设置的问题,故记录一下,防止后面的小伙伴也踩坑。 我使用的是阿里云服务器,如果是使用其他平台服务…

第十四章大数据和数据科学4分

14.1 引言 14.1.3 科学理念 1.数据科学 数据科学将数据挖掘、统计分析和机器学习与数据集成整合,结合数据建模能力,去构建预测模型、探索数据内容模式。 数据科学依赖于: 1)丰富的数据源。具有能够展示隐藏在组织或客户行为中不…

提升效率!微信自动统计数据报表,轻松实现!

在数字化时代,提高工作效率是每个人的追求。下面就给大家分享一个能够自动统计微信号运营数据的神器——个微管理系统,让大家无需手动整理和计算,提高工作效率! 1、好友统计报表 它分为通讯录好友统计、新增好友统计和删除好友统…

Linux进程地址空间及其页表

文章目录 一、引言二、Linux进程地址空间的概念1、进程地址空间定义2、进程地址空间的组成3、进程地址空间与物理内存的关系 三、页表与内存映射1、页表的定义及作用2、页表的缺页中断 三、进程的写时拷贝 一、引言 在Linux中,进程管理是其核心功能之一&#xff0c…

统一SQL 支持Oracle unpivot列转行

统一SQL介绍 https://www.light-pg.com/docs/LTSQL/current/index.html 源和目标 源数据库:Oracle 目标数据库:TDSQL-MySQL 操作目标 在Oracle中,可以使用unpivot将列转换成行,在TDSQL-MySQL中没有对应的功能,由…

LateX的基础学习

what can i say 在text.tex中写下 \documentclass{article} \begin{document]Hello \LaTeX. \end{document} 关闭记事本,cmd中dir保存,用latex text.tex来编译,可以命令行慢慢编译,这可以做成bat文件 为什么不直接开始在texst…

OSPF认证方式,ISIS简介,ISIS路由器类型

OSPF:转发,泛洪,丢弃

selenium‘拟人包装‘设置

1、设置header,proxy 1.1关于user-agent 输入about:version 找到user-agent: import requests # 引用requests库 from selenium import webdriver#载入浏览器驱动#header,proxy设置 optionswebdriver.ChromeOptions()#实例化浏览器参数设置options.add_argument…

clickhouse学习笔记04

ClickHouse高可用之ReplicatedMergeTree引擎介绍 ClickHouse高可用架构准备-环境说明和ZK搭建 RPM安装ClickHouse 上传我们的clickhouse rpm文件。 安装: 中途需要输入用户名和密码 可以不设置 直接回车。 启动: 查看状态: 查看端口是否占用…

【鸿蒙NEXT】web组件debug模式

官方文档 使用Devtools工具调试前端页面 打开web debug模式 webview.WebviewController.setWebDebuggingAccess(true)chrome 访问 chrome://inspect/#devices Discover network targets 中添加 localhost:9222 创建cat.sh com.coooliang.yourappbundname 为你应用的bundlen…