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

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

-- Parul Pandey

致谢

编译自 |

https://opensource.com/article/18/11/python-libraries-data-science

作者 | Parul Pandey

译者 | heguangzhi 共计翻译:8.0篇 贡献时间:89 天

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

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

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

Wget

提取数据,尤其是从网络中提取数据,是数据科学家的重要任务之一。Wget

[1]

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

安装:

例子:

钟摆

对于在 Python 中处理日期时间感到沮丧的人来说,Pendulum

[2]

库是很有帮助的。这是一个 Python 包,可以简化日期时间操作。它是 Python 原生类的一个替代品。有关详细信息,请参阅其文档

[3]

安装:

例子:

不平衡学习

当每个类别中的样本数几乎相同(即平衡)时,大多数分类算法会工作得最好。但是现实生活中的案例中充满了不平衡的数据集,这可能会影响到机器学习算法的学习和后续预测。幸运的是,imbalanced-learn

[4]

库就是为了解决这个问题而创建的。它与scikit-learn

[5]

兼容,并且是scikit-learn-contrib项目的一部分。下次遇到不平衡的数据集时,可以尝试一下。

安装:

例子:

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

[7]

FlashText

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

Python 的FlashText

[8]

模块,基于FlashText 算法

[9]

,为这种情况提供了一个合适的替代方案。FlashText 的最佳部分是运行时间与搜索项的数量无关。你可以在其文档

[10]

中读到更多关于它的信息。

安装:

例子:

提取关键词:

替代关键词:

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

[11]

一节。

模糊处理

这个名字听起来很奇怪,但是FuzzyWuzzy

[12]

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

安装:

例子:

更多的例子可以在 FuzzyWuzy 的GitHub 仓库

[12]

得到。

PyFlux

时间序列分析是机器学习中最常遇到的问题之一。PyFlux

[13]

是 Python 中的开源库,专门为处理时间序列问题而构建的。该库拥有一系列优秀的现代时间序列模型,包括但不限于 ARIMA、GARCH 以及 VAR 模型。简而言之,PyFlux 为时间序列建模提供了一种概率方法。这值得一试。

安装:

例子:

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

[14]

IPyvolume

交流结果是数据科学的一个重要方面,可视化结果提供了显著优势。IPyvolume

[15]

是一个 Python 库,用于在 Jupyter 笔记本中可视化 3D 体积和形状(例如 3D 散点图),配置和工作量极小。然而,它目前处于 1.0 之前的阶段。一个很好的类比是这样的: IPyVolumee volshow 是 3D 阵列,Matplotlib 的 imshow 是 2D 阵列。你可以在其文档

[16]

中读到更多关于它的信息。

安装:

例子:

动画:https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/115610lgyyhqw7wgmrmgx6.gif

绘制: https://dn-linuxcn.qbox.me/data/attachment/album/201812/09/115634tjrs1p77ppe7kkku.gif

ash

Dash

[17]

是一个用于构建 Web 应用程序的高效 Python 框架。它构建于 Flask、Plotty.js 和 Response.js 之上,将下拉菜单、滑块和图形等流行 UI 元素与你的 Python 分析代码联系起来,而不需要JavaScript。Dash 非常适合构建可在 Web 浏览器中呈现的数据可视化应用程序。有关详细信息,请参阅其用户指南

[18]

安装:

例子:

下面的示例显示了一个具有下拉功能的高度交互的图表。当用户在下拉列表中选择一个值时,应用程序代码将数据从 Google Finance 动态导出到 Pandas 数据框架中。

Gym

从OpenAI

[19]

而来的Gym

[20]

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

安装:

例子:

以下示例将在CartPole-v0

[21]

环境中,运行 1000 次,在每一步渲染环境。

你可以在 Gym 网站上读到其它的环境

[22]

结论

这些是我挑选的有用但鲜为人知的数据科学 Python 库。如果你知道另一个要添加到这个列表中,请在下面的评论中提及。

本文最初发表在Analytics Vidhya

[23]

的媒体频道上,并经许可转载。

via:https://opensource.com/article/18/11/python-libraries-data-science

作者:Parul Pandey

[25]

选题:lujun9972译者:heguangzhi校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181209B0HAP600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券