30 个数据工程必备的Python 包
Python 可以说是最容易入门的编程语言,在numpy,scipy等基础包的帮助下,对于数据的处理和机器学习来说Python可以说是目前最好的语言,在各位大佬和热心贡献者的帮助下Python拥有一个庞大的社区支持技术发展,开发两个各种 Python 包来帮助数据人员的工作。
在本文中,将介绍一些非常独特的并且好用的 Python 包,它们可以在许多方面帮助你构建数据的工作流。
1、Knockknock
Knockknock是一个简单的Python包,它会在机器学习模型训练结束或崩溃时通知您。我们可以通过多种渠道获得通知,如电子邮件、Slack、Microsoft Teams等。
为了安装该包,我们使用以下代码。
pip install knockknock
例如,我们可以使用以下代码将机器学习建模训练状态通知到指定的电子邮件地址。
from knockknock import email_sender
from sklearn.linear_model import LinearRegression
import numpy as np
@email_sender(recipient_emails=["<your_email@address.com>", "<your_second_email@address.com>"], sender_email="<sender_email@gmail.com>")
def train_linear_model(your_nicest_parameters):
x = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
y = np.dot(x, np.array([1, 2])) + 3
regression = LinearRegression().fit(x, y)
return regression.score(x, y)
这样就可以在该函数出现问题或者完成时获得通知。
2、tqdm
当需要进行迭代或循环时,如果你需要显示进度条?那么tqdm就是你需要的。这个包将在你的笔记本或命令提示符中提供一个简单的进度计。
让我们从安装包开始。
pip install tqdm
然后可以使用以下代码来显示循环过程中的进度条。
from tqdm import tqdm
q = 0
for i in tqdm(range(10000000)):
q = i +1
就像上面的gifg,它可以在notebook上显示一个很好的进度条。当有一个复杂的迭代并且想要跟踪进度时,它会非常有用。
3、Pandas-log
Panda -log可以对Panda的基本操作提供反馈,如.query、.drop、.merge等。它基于R的Tidyverse,可以使用它了解所有数据分析步骤。
安装包
pip install pandas-log
安装包之后,看看下面的示例。
import pandas as pd
import numpy as np
import pandas_log
df = pd.DataFrame({"name": ['Alfred', 'Batman', 'Catwoman'],
"toy": [np.nan, 'Batmobile', 'Bullwhip'],
"born": [pd.NaT, pd.Timestamp("1940-04-25"), pd.NaT]})
然后让我们尝试用下面的代码做一个简单的 pandas 操作记录。
with pandas_log.enable():
res = (df.drop("born", axis = 1)
.groupby('name')
)
通过 pandas-log,我们可以获取所有的执行信息。
4、Emoji
顾名思义,Emoji 是一个支持 emoji 文本解析的 Python 包。通常,我们很难用 Python 处理表情符号,但 Emoji 包可以帮助我们进行转换。
使用以下代码安装 Emoji 包。
pip install emoji
看看下面代码:
import emoji
print(emoji.emojize('Python is :thumbs_up:'))
有了这个包,可以轻易的输出表情符号。
完整文章:
https://avoid.overfit.cn/post/b8a5170206934a119d1420dbb358bbc6
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)