专栏名称: 数盟
数盟(数据科学家联盟)隶属于北京数盟科技有限公司,数盟致力于成为培养与发现“数据科学家”的黄埔军校。 数盟服务包括:线下活动、大数据培训。 官网:http://dataunion.org,合作:[email protected]
目录
相关文章推荐
人工智能与大数据技术  ·  国内首部AI大模型私有化部署标准启动编制,适 ... ·  2 天前  
大数据文摘  ·  Science:AI大模型只是当代“印刷术” ... ·  2 天前  
软件定义世界(SDX)  ·  厦门大学:大模型概念、技术与应用实践(140 ... ·  2 天前  
软件定义世界(SDX)  ·  美国IT岗位雪崩式下降,5年最低!AI相关技 ... ·  3 天前  
51好读  ›  专栏  ›  数盟

技术推荐| 15个数据科学Python库总结

数盟  · 公众号  · 大数据  · 2017-05-26 21:59

正文

大数据时代,Python 在数据科学行业获得了人们的极大青睐,各种资源也层出不穷。数据科学解决方案公司 ActiveWizards 近日根据他们自己的应用开发经验,总结了数据科学家和工程师将在 2017 年最常使用的 Python 库。

核心库

1)NumPy

地址:http://www.numpy.org

当使用 Python 开始处理科学任务时,不可避免地需要求助 Python 的 SciPy Stack,它是专门为 Python 中的科学计算而设计的软件的集合(不要与 SciPy 混淆,它只是这个 stack 的一部分,以及围绕这个 stack 的社区)。这个 stack 相当庞大,其中有十几个库,所以我们想聚焦在核心包上(特别是最重要的)。

NumPy(代表 Numerical Python)是构建科学计算 stack 的最基础的包。它为 Python 中的 n 维数组和矩阵的操作提供了大量有用的功能。该库还提供了 NumPy 数组类型的数学运算向量化,可以提升性能,从而加快执行速度。

2)SciPy

地址:https://www.scipy.orghttps://www.scipy.org

SciPy 是一个工程和科学软件库。除此以外,你还要了解 SciPy Stack 和 SciPy 库之间的区别。SciPy 包含线性代数、优化、集成和统计的模块。SciPy 库的主要功能建立在 NumPy 的基础之上,因此它的数组大量使用了 NumPy。它通过其特定的子模块提供高效的数值例程操作,比如数值积分、优化和许多其他例程。SciPy 的所有子模块中的函数都有详细的文档,这也是一个优势。

3)Pandas

地址:http://pandas.pydata.org

Pandas 是一个 Python 包,旨在通过「标记(labeled)」和「关系(relational)」数据进行工作,简单直观。Pandas 是 data wrangling 的完美工具。它设计用于快速简单的数据操作、聚合和可视化。库中有两个主要的数据结构:

例如,当你要从这两种类型的结构中接收到一个新的「Dataframe」类型的数据时,你将通过传递一个「Series」来将一行添加到「Dataframe」中来接收这样的 Dataframe:

这里只是一小撮你可以用 Pandas 做的事情:

轻松删除并添加「Dataframe」中的列

将数据结构转换为「Dataframe」对象

处理丢失数据,表示为 NaN(Not a Number)

功能强大的分组

可视化

4)Matplotlib

地址:https://matplotlib.org

Matplotlib 是另一个 SciPy Stack 核心软件包和另一个 Python 库,专为轻松生成简单而强大的可视化而量身定制。它是一个顶尖的软件,使得 Python(在 NumPy、SciPy 和 Pandas 的帮助下)成为 MatLab 或 Mathematica 等科学工具的显著竞争对手。然而,这个库比较底层,这意味着你需要编写更多的代码才能达到高级的可视化效果,通常会比使用更高级工具付出更多努力,但总的来说值得一试。花一点力气,你就可以做到任何可视化:

线图

散点图

条形图和直方图

饼状图

茎图

轮廓图

场图

频谱图

还有使用 Matplotlib 创建标签、网格、图例和许多其他格式化实体的功能。基本上,一切都是可定制的。

该库支持不同的平台,并可使用不同的 GUI 工具套件来描述所得到的可视化。许多不同的 IDE(如 IPython)都支持 Matplotlib 的功能。

还有一些额外的库可以使可视化变得更加容易。

5)Seaborn


地址:https://seaborn.pydata.org

Seaborn 主要关注统计模型的可视化;这种可视化包括热度图(heat map),可以总结数据但也描绘总体分布。Seaborn 基于 Matplotlib,并高度依赖于它。

6)Bokeh


地址:http://bokeh.pydata.org

Bokeh 也是一个很好的可视化库,其目的是交互式可视化。与之前的库相反,这个库独立于 Matplotlib。正如我们已经提到的那样,Bokeh 的重点是交互性,它通过现代浏览器以数据驱动文档(D3.js)的风格呈现。


7)Plotly


地址:https://plot.ly

最后谈谈 Plotly。它是一个基于 Web 的工具箱,用于构建可视化,将 API 呈现给某些编程语言(其中包括 Python)。在 plot.ly 网站上有一些强大的、开箱即用的图形。为了使用 Plotly,你需要设置你的 API 密钥。图形处理会放在服务器端,并在互联网上发布,但也有一种方法可以避免这么做。


机器学习

8)SciKit-Learn

地址:http://scikit-learn.orghttp://scikit-learn.org

Scikits 是 SciPy Stack 的附加软件包,专为特定功能(如图像处理和辅助机器学习)而设计。在后者方面,其中最突出的一个是 scikit-learn。该软件包构建于 SciPy 之上,并大量使用其数学操作。

scikit-learn 有一个简洁和一致的接口,可利用常见的机器学习算法,让我们可以简单地在生产中应用机器学习。该库结合了质量很好的代码和良好的文档,易于使用且有着非常高的性能,是使用 Python 进行机器学习的实际上的行业标准。

深度学习:Keras / TensorFlow / Theano







请到「今天看啥」查看全文