30个数据科学工作中必备的Python包!

Python 可以说是最容易入门的编程语言,在numpy,scipy等基础包的帮助下,对于数据的处理和机器学习来说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:'))
Python is 👍

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

5、TheFuzz

TheFuzz 使用 Levenshtein 距离来匹配文本以计算相似度。

pip install thefuzz

下面代码介绍如何使用 TheFuzz 进行相似性文本匹配。

from thefuzz import fuzz, process

#Testing the score between two sentences
fuzz.ratio("Test the word", "test the Word!")
81

TheFuzz 还可以同时从多个单词中提取相似度分数。

choices = ["Atlanta Falcons", "New York Jets", "New York Giants", "Dallas Cowboys"]
process.extract("new york jets", choices, limit=2)
[('new york jets', 100), 
 ('new york Giants', 79)]

TheFuzz 适用于任何文本数据相似性检测,这个工作在nlp中非常重要。

6、Numerizer

Numerizer 可将写入的数字文本转换为对应的整数或浮点数。

pip install numerizer

然后 让我们尝试几个输入来进行转换。

from numerizer import numerize
numerize('forty two')
'42'

如果使用另一种书写风格,它也可以工作的。

numerize('forty-two')

                
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值