这9个鲜为人知的Python库,你用过几个?
Python是一种很棒的语言,它是世界上发展最快的编程语言之一。它一次又一次证明了自己在开发人员工作角色和跨行业的数据科学职位中的实用性。整个Python及其库的生态系统使其成为全世界用户(初学者和高级)的合适选择。其成功和普及的原因之一是其强大的库集使其如此动态和快速。
我们曾为大家分享过12种Python 机器学习 & 数据挖掘 工具包(附链接)
今天会为大家介绍9个鲜为人知的Python库(排名不分先后)
Wget
Pendulum
imbalanced-learn
FlashText
Fuzzywuzzy
PyFlux
Ipyvolume
Dash
Gym
01
Wget
网址:https://pypi.org/project/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'
02
Pendulum
网址:https://github.com/sdispater/pendulum
它是一个Python包,可以简化日期操作。它是Python本机类的直接替代品。
安装:
$ pip install pendulum
示例:
import pendulum
dt_toronto = pendulum.datetime(2012, 1, 1, tz='America/Toronto')
dt_vancouver = pendulum.datetime(2012, 1, 1, tz='America/Vancouver')
print(dt_vancouver.diff(dt_toronto).in_hours())
3
03
imbalanced-learn
网址:https://github.com/scikit-learn-contrib/imbalanced-learn
可以看出,当每个类中的样本数几乎相同(即平衡)时,大多数分类算法效果最好。但是,现实生活中的案例中充满了不平衡的数据集,这些数据集可能会影响学习阶段和机器学习算法的后续预测。幸运的是,已创建此库解决该问题。它与scikit-learn兼容, 是scikit-learn-contrib项目的一部分。下次遇到不平衡数据集时可尝试一下。
安装:
pip install -U imbalanced-learn
# or
conda install -c conda-forge imbalanced-learn
04
FlashText
网址:https://github.com/vi3k6i5/flashtext
在NLP任务期间清理文本数据通常需要替换句子中的关键词或从句子中提取关键词。通常,这种操作可以用正则表达式完成,但如果要搜索的术语数量达到数千,则可能变得很麻烦。Python的FlashText模块基于FlashText算法,为这种情况提供了一种合适的替代方案。FlashText的最佳部分是运行时是相同的,而与搜索项的数量无关。
安装:
$ 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']
05
Fuzzywuzzy
网址:https://github.com/seatgeek/fuzzywuzzy
这个名字听起来很奇怪,但是当涉及字符串匹配时,fuzzywuzzy是一个非常有用的库。可以轻松实现字符串比较比率等操作,还可以方便地匹配保存在不同数据库中的记录。
安装:
$ 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
06
PyFlux
网址:https://github.com/RJT1990/pyflux
时间序列分析是机器学习领域中最常遇到的问题之一。PyFlux是Python中的一个开源库,专门用于处理时间序列问题。该库拥有一系列优秀的现代时间序列模型,包括但不限于ARIMA、GARCH和VAR模型。简而言之,PyFlux提供了一种时间序列建模的概率方法,值得一试。
安装:
pip install pyflux
07
Ipyvolume
网址:https://github.com/maartenbreddels/ipyvolume
沟通结果是数据科学的一个重要方面。能够可视化结果具有显著的优势。IPyvolume是一个Python库,用于在Jupyter笔记本中可视化3d体积和字形(例如3d散点图),只需最少的配置和精力。但是,它目前处于1.0之前的阶段。一个很好的比喻是这样的:IPyvolume的volshow是3d数组matplotlib的imshow是2d数组。
安装:
Using pip
$ pip install ipyvolume
Conda/Anaconda
$ conda install -c conda-forge ipyvolume
08
Dash
网址:https://github.com/plotly/dash
Dash是一个用于构建Web应用程序的高效Python框架。它写在Flask,Plotly.js和React.js之上,并将现有UI元素(如下拉列表,滑块和图形)与您的分析Python代码联系起来,而无需使用javascript。Dash非常适合构建数据可视化应用程序。然后,可以在Web浏览器中呈现这些应用程序。
安装:
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!)
09
Gym
网址:https://github.com/openai/gym
OpenAI的 Gym 是一个用于开发和比较强化学习算法的工具包。它与任何数值计算库兼容,如TensorFlow或Theano。The gym library必然是测试问题的集合,也称为环境 - 您可以使用它来计算强化学习算法,这些环境具有共享接口,允许您编写通用算法。
安装:
pip install gym