这些Python库真的很“冷”,但是却很强大

澳门十大网赌网址:2019-01-02 澳门十大正规网站: 10498 次
  Python是一种很棒的编程语言。事实上,它还是世界上发展最快的编程语言之一。它一次又一次证明了它在数据科学职位中的实用性。整个Python及其库的生态系统使其成为全世界用户(初学者和高级)的合适选择。
  在本文中,大家将先容一些用于数据科学方面的Python库,它们并不像pandas、scikit-learn 和 matplotlib那么知名,但一样非常实用的库。
  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中时间日期的处理,那么你需要Pendulum。它是一个Python包,用于简化datetime操作。它是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
  3、Imbalanced-learn
  大多数分类算法在每个类的样本数量几乎都是一样的情况下是最有效的,但实际工作中大多数是不平衡的数据集,这些数据集对机器学习算法的学习阶段和后续预测都可能有影响。幸运的是,创imbalance -learn库可以解决这个问题。它与scikit-learn兼容,是scikit- learning -contrib项目的一部分。下次遇到不平衡的数据集的情况,请别忘了它。
  安装:
pip install -U imbalanced-learn
# or
conda install -c conda-forge imbalanced-learn
  4、FlashText
  在自然语言处理(NLP)任务中清理文本数据通常需要替换关键字或从句子中提取关键字。通常,这样的操作可以用替换后来完成,但是如果要搜索的词汇量达到数千,那么这些操作就会变得很繁琐。
  Python的FlashText模块基于FlashText算法,为这种情况提供了合适的替代方案。FlashText最棒的地方是,它的运行与你的搜索量无关。
  安装:
  $ pip install flashtext
  例子:
  1)提取关键词
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']
  2)替代关键词
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是一个非常有用的库。它可以方便地实现字符串匹配率等操作。它还可以方便地匹配保存在不同数据库中的记录。
  安装:
  $ 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
  时间序列分析是机器学习中最常见的问题之一。PyFlux是Python中的一个开源库,它是为处理时间序列问题而构建的。该库拥有一系列很优秀的现代时间序列模型,诸如ARIMA、GARCH和VAR模型等。简而言之,PyFlux提供了一种时间序列建模的概率方法。
  安装:
  pip install pyflux
  7、IPyvolume
  数据科学很重要的一部分就是交流结果,可视化结果显示可以给你提供一个巨大的优势。IPyvolume是一个Python库,用于可视化Jupyter笔记本中的3D容量和符号(例如3D散点图),只需少量的配置。
  安装 :
Using pip
$ pip install ipyvolume
Conda/Anaconda
$ conda install -c conda-forge ipyvolume
  例子:
  绘制
  8、Dash
  Dash是一个用于构建web应用程序的高效Python框架。它基于FlaskPlotty.js 和 Response.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!)
  例子:
  下面的示例显示了具有下拉功能的高度交互式图。当用户在下拉菜单中选择一个值时,应用程序代码将动态地将数据从谷歌 Finance 导出到panda DataFrame。
  9、Gym
  Gym是开发和对比强化学习算法的工具,它兼容任何数据科学库,如TensorFlow或Theano。是一个测试问题的集合,也叫环境,你可以用它来计算强化学习算法。这些环境有一个共享接口,允许用户编写通用算法。
  安装:
  pip install gym
  例子:
  以下示例将在 CartPole-v0环境中,运行 1000 次,在每一步渲染环境。
  转自:开源最前线
分享到:
×

微信扫一扫分享

XML 地图 | Sitemap 地图