让人事半功倍的小众 Python 库,是不是很惊喜!

Python 成功和受欢迎的原因之一是存在强大的库,这些库使 Python 极具创造力且运行快速。然而,使用 Pandas、Scikit-learn、Matplotlib 等常见库在解决一些特殊的数据问题时可能并不实用,本文介绍的这些非常见库可能更有帮助。

这是小编准备的py thon学习资料,想学习py thon或者人工智能的都可以私信小编“01”免费获取领取资料!

让人事半功倍的小众 Python 库,是不是很惊喜!

1、 WGET

提取数据,特别是从网络中提取数据是数据科学家的重要任务之一。Wget 是一个免费的工具,用于以非交互式方式从 Web 上下载文件。它支持 HTTP、HTTPS 和 FTP 协议,通过 HTTP 代理进行检索。由于它是非交互式的,即使用户没有登录,它也可以在后台工作。所以,如果你想下载一个网站或一个页面上的所有图片,wget 会帮助你。

安装:

$ pip install wget

示例:

import wget
url = http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3 
filename = wget.download(url)
100% [................................................] 3841532 / 3841532
filename
 razorback.mp3 
2、Pendulum

对于那些在 python 中被处理datetimes困扰的人来说,Pendulum 是个好选择。它是一个 Python 包,用于简化 datetimes 操作。它是 Python「本机」类(native class)的代替。更多内容,请参阅文档:https://um.eustace.io/docs/# installation。

安装:

$ pip install pendulum

示例:

import wget

url = http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3

filename = wget.download(url)

100% [................................................] 3841532 / 3841532

filename

razorback.mp3

3、IMBALANCED-LEARN

可以看出,当每个类的样本数量相等即平衡时,大多数分类算法的工作效果最好。但现实生活中充满了不平衡的数据集,这些数据集对机器学习的学习阶段和后续预测都有影响。创建这个库是为了解决这个问题。它与 scikit-learn 兼容,并且是 scikit-learn-contrib 项目的一部分。下次遇到不平衡的数据集时,可以尝试一下。

安装:

pip install -U imbalanced-learn
# or
conda install -c conda-forge imbalanced-learn

有关用法和示例,请参考:http://imbalancedlearn.org/en/stable/api.html。

4、FLASHTEXT

在 NLP 任务中,清理文本数据通常需要替换句子中的关键词或从句子中提取关键词。通常,这样的操作可以用正则表达式来完成,但是如果要搜索的词汇量过大,操作就会变得麻烦。Python 中基于 FlashText 算法的 FlashText 模块,为这种情况提供了一个合适的替代方案。FlashText 最大的优点是搜索词数量不影响运行时长。更多相关信息请见:https://flashtext.readthedocs.io/en/latest/#。

安装:

$ pip install flashtext

示例

提取关键词:

from flashtext import KeywordProcessor
keyword_processor = KeywordProcessor()
# keyword_processor.add_keyword(<unclean name>, <standardised name>)
keyword_processor.add_keyword( Big Apple , New York )
keyword_processor.add_keyword( Bay Area )
keywords_found = keyword_processor.extract_keywords( I love Big Apple and Bay Area. )
keywords_found
[ New York , Bay Area ]

替换关键词:

keyword_processor.add_keyword( New Delhi , NCR region )

new_sentence = keyword_processor.replace_keywords( I love Big Apple and new delhi. )

new_sentence

I love New York and NCR region.

更多使用示例,请参阅官方文档。

5、FUZZYWUZZY

虽然名字听起来很奇怪,但涉及到字符串匹配时,fuzzywuzzy 是一个非常有用的库,可以很容易地实现诸如字符串比较比率、token 比率等操作。对于匹配不同数据库中的记录也很方便。

安装:

$ pip install fuzzywuzzy

示例:

from fuzzywuzzy import fuzz

from fuzzywuzzy import process

# Simple Ratio

fuzz.ratio("this is a test", "this is a test!")

97

# Partial Ratio

fuzz.partial_ratio("this is a test", "this is a test!")

100

更多有趣的例子可以在 GitHub 上找到:https://github.com/seatgeek/fuzzywuzzy。

6、PYFLUX

时间序列分析是机器学习领域最常见的问题之一。PyFlux 是 Python 中为处理时间序列问题而创建的开源库。该库有一系列极好的时间序列模型,包括但不限于 ARIMA、 GARCH 和 VAR 模型。简而言之,PyFlux 提供了一个时间序列建模的概率方法。值得尝试。

安装:

pip install pyflux

有关用法和示例,请参考:https://pyflux.readthedocs.io/en/latest/index.html。

7、IPYVOLUME

交流结果是数据科学的一个基本方面。能够将结果可视化是一个很大的优势。IPyvolume 是一个用于在 Jupyter notebook 中可视化 3d 体积和字形(如 3d 散点图)的 Python 库,只需少量配置即可。然而,它目前还处于前 1.0 版。IPyvolume 的 volshow 之于 3d 数组,就像 matplotlib 的 imshow 之于 2d 数组一样。更多相关信息请见:https://ipyvolume.readthedocs.io/en/latest/?badge=latest。

安装:

Using pip
$ pip install ipyvolume
Conda/Anaconda
$ conda install -c conda-forge ipyvolume

8、DASH

Dash 是一个用于构建 web 应用程序的高效 Python 框架。它写在 Flask、Plotly.js 和 React.js 之上,将下拉列表、滑块和图形等 UI 元素与你的分析性 Python 代码直接相连,无需 javascript。Dash 非常适合构建数据可视化应用程序。然后这些应用程序可以在 web 浏览器中进行渲染。用户指南请见:https://dash.plot.ly/。

安装:

pip install dash==0.29.0 # The core dash backend
pip install dash-html-components==0.13.2 # HTML components
pip install dash-core-components==0.36.0 # Supercharged components
pip install dash-table==3.1.3 # Interactive DataTable component (new!)

下图示例显示了具有下拉功能的高度交互图。当用户在下拉列表中选择一个值时,应用程序代码会动态地将 Google Finance 的数据导出为 Pandas DataFrame。资源:https://gist.github.com/chriddyp/3d2454905d8f01886d651f207e2419f0。

让人事半功倍的小众 Python 库,是不是很惊喜!

9、GYM

来自 OpenAI 的 Gym 是一个开发和对比强化学习算法的工具包。它兼容于任何数值计算库,如 TensorFlow 或 Theano。Gym 库是一个测试问题的集合,也被称为环境——可以用它来计算你的强化学习算法。这些环境有一个共享的接口,允许你写通用算法。

安装:

pip install gym

运行环境 CartPole-v0 的 1000 个时间步骤实例,在每个步骤渲染环境。

让人事半功倍的小众 Python 库,是不是很惊喜!

阅读其他环境请见:https://gym.openai.com/。

结论

这些是作者为数据科学挑选的实用 python 库,而非常见的 numpy、panda 等。值得一试

相关推荐