今天会为大家介绍 9 个鲜为人知的 Python 库(排名不分先后)
- Wget
- Pendulum
- imbalanced-learn
- FlashText
- Fuzzywuzzy
- PyFlux
- Ipyvolume
- Dash
- Gym
- 1, Wget
网址: https://pypi.org/project/wget/
Wget 是一个免费的实用程序, 用于从 web 上非交互式下载文件. 它支持 HTTP,HTTPS 和 FTP 协议, 以及通过 HTTP 代理进行检索. 由于它是非交互式的, 即使用户没有登录也可以在后台运行. 因此, 下次你想要从网页下载所有图像时, wget 可以帮助你.
在文章开始之前先说一句, 小编最近整理了一套 Python 学习教程, 有需要的小伙伴, 记得来小编的交流群: 556370268, 即可免费领取一套 Python 学习教程哦
image
安装
$ 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
网址: https://github.com/sdispater/pendulum
它是一个 Python 包, 可以简化日期操作. 它是 Python 本机类的直接替代品.
image
安装:
$ 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, imbalanced-learn
网址:
可以看出, 当每个类中的样本数几乎相同 (即平衡) 时, 大多数分类算法效果最好. 但是, 现实生活中的案例中充满了不平衡的数据集, 这些数据集可能会影响学习阶段和机器学习算法的后续预测. 幸运的是, 已创建此库解决该问题. 它与 scikit-learn 兼容, 是 scikit-learn-contrib 项目的一部分. 下次遇到不平衡数据集时可尝试一下.
image
安装:
- pip install -U imbalanced-learn
- # or
- or
- conda install -c conda-forge imbalanced-learn
- 4, FlashText
网址: https://github.com/vi3k6i5/flashtext
在 NLP 任务期间清理文本数据通常需要替换句子中的关键词或从句子中提取关键词. 通常, 这种操作可以用正则表达式完成, 但如果要搜索的术语数量达到数千, 则可能变得很麻烦. Python 的 FlashText 模块基于 FlashText 算法, 为这种情况提供了一种合适的替代方案. FlashText 的最佳部分是运行时是相同的, 而与搜索项的数量无关.
image
安装:
$ 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']
- 5,Fuzzywuzzy
网址: https://github.com/seatgeek/fuzzywuzzy
这个名字听起来很奇怪, 但是当涉及字符串匹配时, fuzzywuzzy 是一个非常有用的库. 可以轻松实现字符串比较比率等操作, 还可以方便地匹配保存在不同数据库中的记录.
image
安装:
$ 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
- 6,PyFlux
网址: https://github.com/RJT1990/pyflux
时间序列分析是机器学习领域中最常遇到的问题之一. PyFlux 是 Python 中的一个开源库, 专门用于处理时间序列问题. 该库拥有一系列优秀的现代时间序列模型, 包括但不限于 ARIMA,GARCH 和 VAR 模型. 简而言之, PyFlux 提供了一种时间序列建模的概率方法, 值得一试.
image
安装:
- pip install pyflux
- 7,Ipyvolume
网址: https://github.com/maartenbreddels/ipyvolume
沟通结果是数据科学的一个重要方面. 能够可视化结果具有显著的优势. IPyvolume 是一个 Python 库, 用于在 Jupyter 笔记本中可视化 3d 体积和字形(例如 3d 散点图), 只需最少的配置和精力. 但是, 它目前处于 1.0 之前的阶段. 一个很好的比喻是这样的: IPyvolume 的 volshow 是 3d 数组 matplotlib 的 imshow 是 2d 数组.
image
安装:
- 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 浏览器中呈现这些应用程序.
image
安装:
- 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!)
- 9,Gym
网址: https://github.com/openai/gym
OpenAI 的 Gym 是一个用于开发和比较强化学习算法的工具包. 它与任何数值计算库兼容, 如 TensorFlow 或 Theano.The gym library 必然是测试问题的集合, 也称为环境 - 您可以使用它来计算强化学习算法, 这些环境具有共享接口, 允许您编写通用算法.
image
安装:
pip install gym
来源: http://www.jianshu.com/p/d0969ae63c8e