加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

9个鲜为人知的Python数据科学库

发布时间:2018-12-24 02:09:15 所属栏目:教程 来源:Parul Pandey
导读:副标题#e# 除了 pandas、scikit-learn 和 matplotlib,还要学习一些用 Python 进行数据科学的新技巧。 Python 是一种令人惊叹的语言。事实上,它是世界上增长最快的编程语言之一。它一次又一次地证明了它在各个行业的开发者和数据科学者中的作用。Python 及
副标题[/!--empirenews.page--]

/uploads/allimg/c181211/15445251N20410-1U21.jpg

除了 pandas、scikit-learn 和 matplotlib,还要学习一些用 Python 进行数据科学的新技巧。

Python 是一种令人惊叹的语言。事实上,它是世界上增长最快的编程语言之一。它一次又一次地证明了它在各个行业的开发者和数据科学者中的作用。Python 及其库的整个生态系统使其成为全世界用户的恰当选择,无论是初学者还是高级用户。它成功和受欢迎的原因之一是它的一组强大的库,使它如此动态和快速。

在本文中,我们将看到 Python 库中的一些数据科学工具,而不是那些常用的工具,如 pandas、scikit-learn 和 matplotlib。虽然像 pandas、scikit-learn 这样的库是机器学习中最常想到的,但是了解这个领域的其他 Python 库也是非常有帮助的。

Wget

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

安装:

  1. $ pip install wget

例子:

  1. import wget
  2. url = 'http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3'
  3.  
  4. filename = wget.download(url)
  5. 100% [................................................] 3841532 / 3841532
  6.  
  7. filename
  8. 'razorback.mp3'

钟摆

对于在 Python 中处理日期时间感到沮丧的人来说, Pendulum 库是很有帮助的。这是一个 Python 包,可以简化日期时间操作。它是 Python 原生类的一个替代品。有关详细信息,请参阅其文档。

安装:

  1. $ pip install pendulum

例子:

  1. import pendulum
  2.  
  3. dt_toronto = pendulum.datetime(2012, 1, 1, tz='America/Toronto')
  4. dt_vancouver = pendulum.datetime(2012, 1, 1, tz='America/Vancouver')
  5.  
  6. print(dt_vancouver.diff(dt_toronto).in_hours())
  7.  
  8. 3

不平衡学习

当每个类别中的样本数几乎相同(即平衡)时,大多数分类算法会工作得最好。但是现实生活中的案例中充满了不平衡的数据集,这可能会影响到机器学习算法的学习和后续预测。幸运的是,imbalanced-learn 库就是为了解决这个问题而创建的。它与 scikit-learn 兼容,并且是 scikit-learn-contrib 项目的一部分。下次遇到不平衡的数据集时,可以尝试一下。

安装:

  1. pip install -U imbalanced-learn
  2. # or
  3. conda install -c conda-forge imbalanced-learn

例子:

有关用法和示例,请参阅其文档 。

FlashText

在自然语言处理(NLP)任务中清理文本数据通常需要替换句子中的关键词或从句子中提取关键词。通常,这种操作可以用正则表达式来完成,但是如果要搜索的术语数达到数千个,它们可能会变得很麻烦。

Python 的 FlashText 模块,基于 FlashText 算法,为这种情况提供了一个合适的替代方案。FlashText 的最佳部分是运行时间与搜索项的数量无关。你可以在其 文档 中读到更多关于它的信息。

安装:

  1. $ pip install flashtext

例子:

提取关键词:

  1. from flashtext import KeywordProcessor
  2. keyword_processor = KeywordProcessor()
  3.  
  4. # keyword_processor.add_keyword(<unclean name>, <standardised name>)
  5.  
  6. keyword_processor.add_keyword('Big Apple', 'New York')
  7. keyword_processor.add_keyword('Bay Area')
  8. keywords_found = keyword_processor.extract_keywords('I love Big Apple and Bay Area.')
  9.  
  10. keywords_found
  11. ['New York', 'Bay Area']

替代关键词:

  1. keyword_processor.add_keyword('New Delhi', 'NCR region')
  2.  
  3. new_sentence = keyword_processor.replace_keywords('I love Big Apple and new delhi.')
  4.  
  5. new_sentence
  6. 'I love New York and NCR region.'

有关更多示例,请参阅文档中的 用法 一节。

模糊处理

这个名字听起来很奇怪,但是 FuzzyWuzzy 在字符串匹配方面是一个非常有用的库。它可以很容易地实现字符串匹配率、令牌匹配率等操作。对于匹配保存在不同数据库中的记录也很方便。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读