30 个数据工程必备的Python 包

Python 可以说是最容易入门的编程语言,在numpy,scipy等基础包的帮助下,对于数据的处理和机器学习来说Python可以说是目前最好的语言,在各位大佬和热心贡献者的帮助下Python拥有一个庞大的社区支持技术发展,开发两个各种 Python 包来帮助数据人员的工作。

在本文中,将介绍一些非常独特的并且好用的 Python 包,它们可以在许多方面帮助你构建数据的工作流。

1、Knockknock

Knockknock是一个简单的Python包,它会在机器学习模型训练结束或崩溃时通知您。我们可以通过多种渠道获得通知,如电子邮件、Slack、Microsoft Teams等。

为了安装该包,我们使用以下代码。

  1. pip install knockknock

例如,我们可以使用以下代码将机器学习建模训练状态通知到指定的电子邮件地址。

  1. from knockknock import email_sender
  2. from sklearn.linear_model import LinearRegression
  3. import numpy as np
  4. @email_sender(recipient_emails=["<your_email@address.com>", "<your_second_email@address.com>"], sender_email="<sender_email@gmail.com>")
  5. def train_linear_model(your_nicest_parameters):
  6. x = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
  7. y = np.dot(x, np.array([1, 2])) + 3
  8. regression = LinearRegression().fit(x, y)
  9. return regression.score(x, y)

这样就可以在该函数出现问题或者完成时获得通知。

2、tqdm

当需要进行迭代或循环时,如果你需要显示进度条?那么tqdm就是你需要的。这个包将在你的笔记本或命令提示符中提供一个简单的进度计。

让我们从安装包开始。

  1. pip install tqdm

然后可以使用以下代码来显示循环过程中的进度条。

  1. from tqdm import tqdm
  2. q = 0
  3. for i in tqdm(range(10000000)):
  4. q = i +1

就像上面的gifg,它可以在notebook上显示一个很好的进度条。当有一个复杂的迭代并且想要跟踪进度时,它会非常有用。

3、Pandas-log

Panda -log可以对Panda的基本操作提供反馈,如.query、.drop、.merge等。它基于R的Tidyverse,可以使用它了解所有数据分析步骤。

安装包

  1. pip install pandas-log

安装包之后,看看下面的示例。

  1. import pandas as pd
  2. import numpy as np
  3. import pandas_log
  4. df = pd.DataFrame({"name": ['Alfred', 'Batman', 'Catwoman'],
  5. "toy": [np.nan, 'Batmobile', 'Bullwhip'],
  6. "born": [pd.NaT, pd.Timestamp("1940-04-25"), pd.NaT]})

然后让我们尝试用下面的代码做一个简单的 pandas 操作记录。

  1. with pandas_log.enable():
  2. res = (df.drop("born", axis = 1)
  3. .groupby('name')
  4. )

通过 pandas-log,我们可以获取所有的执行信息。

4、Emoji

顾名思义,Emoji 是一个支持 emoji 文本解析的 Python 包。通常,我们很难用 Python 处理表情符号,但 Emoji 包可以帮助我们进行转换。

使用以下代码安装 Emoji 包。

  1. pip install emoji

看看下面代码:

  1. import emoji
  2. print(emoji.emojize('Python is :thumbs_up:'))

有了这个包,可以轻易的输出表情符号。

完整文章:

https://avoid.overfit.cn/post/b8a5170206934a119d1420dbb358bbc6

posted @   deephub  阅读(95)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示