30 个数据工程必备的Python 包

网站建设3年前发布
26 0 0

Python 可以说是最容易入门的编程语言,在numpy,scipy等基础包的帮助下,对于数据的处理和机器学习来说Python可以说是目前最好的语言,在各位大佬和热心贡献者的帮助下Python拥有一个庞大的社区支持技术发展,开发两个各种 Python 包来帮助数据人员的工作。,20230305211730c6e74a69649285e79f911182be6ffa04d094e5468,在本文中,将介绍一些非常独特的并且好用的 Python 包,它们可以在许多方面帮助你构建数据的工作流。,Knockknock是一个简单的Python包,它会在机器学习模型训练结束或崩溃时通知您。我们可以通过多种渠道获得通知,如电子邮件、Slack、Microsoft Teams等。,为了安装该包,我们使用以下代码。,例如,我们可以使用以下代码将机器学习建模训练状态通知到指定的电子邮件地址。,这样就可以在该函数出现问题或者完成时获得通知。,当需要进行迭代或循环时,如果你需要显示进度条?那么tqdm就是你需要的。这个包将在你的笔记本或命令提示符中提供一个简单的进度计。,让我们从安装包开始。,然后可以使用以下代码来显示循环过程中的进度条。,202303052117315377821938a26493d5462648ce899c6214654f107,就像上面的gifg,它可以在notebook上显示一个很好的进度条。当有一个复杂的迭代并且想要跟踪进度时,它会非常有用。,Panda -log可以对Panda的基本操作提供反馈,如.query、.drop、.merge等。它基于R的Tidyverse,可以使用它了解所有数据分析步骤。,安装包,安装包之后,看看下面的示例。,然后让我们尝试用下面的代码做一个简单的 pandas 操作记录。,202303052117321433b5641dc0b21a87325863bc70cb7e95e6cc444,通过 pandas-log,我们可以获取所有的执行信息。,顾名思义,Emoji 是一个支持 emoji 文本解析的 Python 包。 通常,我们很难用 Python 处理表情符号,但 Emoji 包可以帮助我们进行转换。,使用以下代码安装 Emoji 包。,看看下面代码:,202303052117334129caa971b35db615831589dbd9c360d7be63573,有了这个包,可以轻易的输出表情符号。,TheFuzz 使用 Levenshtein 距离来匹配文本以计算相似度。,下面代码介绍如何使用 TheFuzz 进行相似性文本匹配。,2023030522024884f061821108b985d0a3888af98aa989cdc20e509,TheFuzz 还可以同时从多个单词中提取相似度分数。,202303052117360975198541286e05889013cfee2a427861e8a1933,TheFuzz 适用于任何文本数据相似性检测,这个工作在nlp中非常重要。,Numerizer 可将写入的数字文本转换为对应的整数或浮点数。,然后 让我们尝试几个输入来进行转换。,20230305211736b9d6c6b3820356f6f4d7735699c4f500d328fb147,如果使用另一种书写风格,它也可以工作的。,2023030521173785480c0756a3b87c8c9954acf03a933ddfe740544,20230305211738f4ed88145ca23077e4c667f71fa694dd1b73cb598,如果输入不是数字的表达式,那么将会保留:,202303052117380765efa07041fe2bff90682800e89a52280140215,PyAutoGUI 可以自动控制鼠标和键盘。,然后我们可以使用以下代码测试。,上面的代码会将鼠标移动到某个位置并单击鼠标。 当需要重复操作(例如下载文件或收集数据)时,非常有用。,Weightedcalcs 用于统计计算。 用法从简单的统计数据(例如加权平均值、中位数和标准变化)到加权计数和分布等。,使用可用数据计算加权分布。,然后我们通过传递数据集并计算预期变量来进行加权计算。,2023030521181513245ff679f629eac3688296770a041caffc92119,scikit-posthocs 是一个用于“事后”测试分析的 python 包,通常用于统计分析中的成对比较。 该软件包提供了简单的类似 scikit-learn API 来进行分析。,然后让我们从简单的数据集开始,进行 ANOVA 测试。,2023030522024904c8e5065f348072099324007e676e56cebb19678,获得了 ANOVA 测试结果,但不确定哪个变量类对结果的影响最大,可以使用以下代码进行原因的查看。,2023030522025188510467664be20cb722126da7dd13f34f76a1220,使用 scikit-posthoc,我们简化了事后测试的成对分析过程并获得了 P 值,Cerberus 是一个用于数据验证的轻量级 python 包。,Cerberus 的基本用法是验证类的结构。,定义好需要验证的结构后,可以对实例进行验证。,20230305211816c67ea007008e94e92d6842e5c1dafe94399fef331,如果匹配,则 Validator 类将输出True 。 这样我们可以确保数据结构是正确的。,ppscore 用于计算与目标变量相关的变量的预测能力。 该包计算可以检测两个变量之间的线性或非线性关系的分数。 分数范围从 0(无预测能力)到 1(完美预测能力)。,使用 ppscore 包根据目标计算分数。,20230305211817a27f0a2579821f30cd72851c5175e3fb7cf2d4966,结果进行了排序。 排名越低变量对目标的预测能力越低。,Maya 用于尽可能轻松地解析 DateTime 数据。,然后我们可以使用以下代码轻松获得当前日期。,还可以为明天日期。,202303052202512740ef6307c6617a87b483822b656dcb8ba9c1291,Pendulum 是另一个涉及 DateTime 数据的 python 包。 它用于简化任何 DateTime 分析过程。,我们可以对实践进行任何的操作。,20230305211819c8ea0d447938221355c70126bf4785efc62a42948,category_encoders 是一个用于类别数据编码(转换为数值数据)的python包。 该包是各种编码方法的集合,我们可以根据需要将其应用于各种分类数据。,可以使用以下示例应用转换。,202303052202527286ad0216a49b873b6357c1ef8e3ec180f1d2367,scikit-multilearn 可以用于特定于多类分类模型的机器学习模型。 该软件包提供 API 用于训练机器学习模型以预测具有两个以上类别目标的数据集。,利用样本数据集进行多标签KNN来训练分类器并度量性能指标。,2023030521182082360ca09cbdfe7498f654e26199e1130351df100,Multiset类似于内置的set函数,但该包允许相同的字符多次出现。,可以使用下面的代码来使用 Multiset 函数。,20230305220253225cac95353c9f46f7f71920b8b29f29c0ef40809,Jazzit 可以在我们的代码出错或等待代码运行时播放音乐。,使用以下代码在错误情况下尝试示例音乐。,这个包虽然没什么用,但是它的功能是不是很有趣,哈,handcalcs 用于简化notebook中的数学公式过程。 它将任何数学函数转换为其方程形式。,使用以下代码来测试 handcalcs 包。 使用 %%render 魔术命令来渲染 Latex 。,202303052118230124e08325e4aecfc427541e555a35f68c49d2987,NeatText 可简化文本清理和预处理过程。 它对任何 NLP 项目和文本机器学习项目数据都很有用。,使用下面的代码,生成测试数据,TextFrame 用于启动 NeatText 类然后可以使用各种函数来查看和清理数据。,20230305211823a2c0c036181371f94915571ef538c1178cb091271,使用 describe 函数,可以显示每个文本统计信息。进一步清理数据,可以使用以下代码。,20230305211824616896c79a4ada6597c52617ba8a7d12c167a8592,Combo 是一个用于机器学习模型和分数组合的 python 包。 该软件包提供了一个工具箱,允许将各种机器学习模型训练成一个模型。 也就是可以对模型进行整合。,使用来自 scikit-learn 的乳腺癌数据集和来自 scikit-learn 的各种分类模型来创建机器学习组合。,接下来,看一下用于预测目标的单个分类器。,20230305220617b961c178243076154d8592615fa19089a648dd686,使用 Combo 包的 Stacking 模型。,20230305211825b1aa99e8442936ed6a35419962b90f3ec2cf2f271,你是否需要星座数据或只是对今天的运气感到好奇? 可以使用 PyAztro 来获得这些信息! 这个包有幸运数字、幸运标志、心情等等。 这是我们人工智能算命的基础数据,哈,使用以下代码访问今天的星座信息。,20230305220254f7f5250534050e7049e425cdd63572f140cec6398,Faker 可用于简化生成合成数据。 许多开发人员使用这个包来创建测试的数据。,要使用 Faker 包生成合成数据,生成名字,20230305211825e11e83577f027c7a5c30046681a4ca07529584273,每次从 Faker 类获取 .name 属性时,Faker 都会随机生成数据。,Fairlearn 用于评估和减轻机器学习模型中的不公平性。 该软件包提供了许多查看偏差所必需的 API。,然后可以使用 Fairlearn 的数据集来查看模型中有多少偏差。,20230305211826a1261c2222e830be895760c79553decabd2a52834,Fairlearn API 有一个 selection_rate 函数,可以使用它来检测组模型预测之间的分数差异,以便我们可以看到结果的偏差。,tiobeindexpy 用于获取 TIOBE 索引数据。 TIOBE 指数是一个编程排名数据,对于开发人员来说是非常重要的因为我们不想错过编程世界的下一件大事。,可以通过以下代码获得当月前 20 名的编程语言排名。,2023030521182753e5be9267e5670734997642018bb4c5e60896436,pytrends 可以使用 Google API 获取关键字趋势数据。如果想要了解当前的网络趋势或与我们的关键字相关的趋势时,该软件包非常有用。这个需要访问google,所以你懂的。,假设我想知道与关键字“Present Gift”相关的当前趋势,,20230305211833220b6f1477811e31b314964c8e413de6d3885d672,该包将返回与关键字相关的前 5 个趋势。,visions 是一个用于语义数据分析的 python 包。 该包可以检测数据类型并推断列的数据应该是什么。,可以使用以下代码检测数据中的列数据类型。 这里使用 seaborn 的 Titanic 数据集。,2023030521183509472d151cee129895a805d410292821727984247,Schedule 可以为任何代码创建作业调度功能,例如,我们想10 秒工作一次:,20230305211835b311270818987b361a1076f06e656e46202d5c431,autocorrect 是一个用于文本拼写更正的 python 包,可应用于多种语言。 用法很简单,并且对数据清理过程非常有用。,可以使用类似于以下代码进行自动更正。,202303052118366892c7d03a4a0da6e20965109d8188d8f274a5495,funcy 包含用于日常数据分析使用的精美实用功能。 包中的功能太多了,我无法全部展示出来,有兴趣的请查看他的文档。,这里只展示一个示例函数,用于从可迭代变量中选择一个偶数,如下面的代码所示。,20230305211836762424818bde8ac3362435fdf2bea775c216ef899,IceCream 可以使调试过程更容易。该软件包在打印/记录过程中提供了更详细的输出。,可以使用下面代码,20230305220617198c26e28f318dae50b23787bc27ed709d11dd869,也可以用作函数检查器。,20230305220256c5f16ae42eae9807a82594ae5fc8213a3cf991785,打印的详细程度非常适合分析。,在本文中,总结了 30个在数据工作中有用的独特 Python 包。 大多数软件包易于使用且简单明了,但有些可能功能较多需要进一步阅读其文档,如果你有兴趣请去pypi网站搜索并查看该软件包的主页和文档,希望本文对你有所帮助。

© 版权声明

相关文章