tmaczt 2019-02-21
Python 近几年在数据科学行业获得了人们的极大青睐,各种资源也层出不穷。数据科学解决方案公司ActiveWizards 近日根据他们自己的应用开发经验,总结了数据科学家和工程师将在2017 年最常使用的 Python 库。
核心库
1、NumPy
当使用 Python 开始处理科学任务时,不可避免地需要求助 Python 的 SciPy Stack,它是专门为 Python 中的科学计算而设计的软件的集合(不要与 SciPy 混淆,它只是这个 stack 的一部分,以及围绕这个 stack 的社区)。这个 stack 相当庞大,其中有十几个库,所以我们想聚焦在核心包上(特别是最重要的)。
NumPy(代表 Numerical Python)是构建科学计算 stack 的最基础的包。它为 Python 中的 n 维数组和矩阵的操作提供了大量有用的功能。该库还提供了 NumPy 数组类型的数学运算向量化,可以提升性能,从而加快执行速度。
2、SciPy
SciPy 是一个工程和科学软件库。除此以外,你还要了解 SciPy Stack 和 SciPy 库之间的区别。SciPy 包含线性代数、优化、集成和统计的模块。SciPy 库的主要功能建立在 NumPy 的基础之上,因此它的数组大量使用了 NumPy。它通过其特定的子模块提供高效的数值例程操作,比如数值积分、优化和许多其他例程。SciPy 的所有子模块中的函数都有详细的文档,这也是一个优势。
3、Pandas
Pandas 是一个 Python 包,旨在通过「标记(labeled)」和「关系(relational)」数据进行工作,简单直观。Pandas 是 data wrangling 的完美工具。它设计用于快速简单的数据操作、聚合和可视化。库中有两个主要的数据结构:
例如,当你要从这两种类型的结构中接收到一个新的「Dataframe」类型的数据时,
你将通过传递一个「Series」来将一行添加到「Dataframe」中来接收这样的 Dataframe:
这里只是一小撮你可以用 Pandas 做的事情:
1.轻松删除并添加「Dataframe」中的列
2. 将数据结构转换为「Dataframe」对象
3. 处理丢失数据,表示为 NaN(Not a Number)
4.功能强大的分组
可视化
4、Matplotlib
Matplotlib 是另一个 SciPy Stack 核心软件包和另一个 Python 库,专为轻松生成简单而强大的可视化而量身定制。它是一个顶尖的软件,使得 Python(在 NumPy、SciPy 和 Pandas 的帮助下)成为 MatLab 或 Mathematica 等科学工具的显著竞争对手。然而, 这个库比较底层,
这意味着你需要编写更多的代码才能达到高级的可视化效果,通常会比使用更高级工具付出更多努力,但总的来说值得一试。花一点力气,你就可以做到任何可视化:
1.线图 2.散点图 3.条状图和直方图 4.饼状图 5.茎图 6.轮廓图 7.场图 8.频谱图
还有使用Matplotlib 创建标签、网格、图例和许多其他格式化实体的功能。基本上,一切都是可定制的。
5、Seaborn
Seaborn 主要关注统计模型的可视化;这种可视化包括热度图(heat map),可以总结数据但也描绘总体分布。Seaborn 基于 Matplotlib,并高度依赖于它。
6、Bokeh
Bokeh 也是一个很好的可视化库,其目的是交互式可视化。与之前的库相反,这个库独立于 Matplotlib。正如我们已经提到的那样,Bokeh 的重点是交互性,它通过现代浏览器以数据驱动文档(D3.js)的风格呈现。
7、Plotly
再说一下 Plotly。它是一个基于 Web 的工具箱,用于构建可视化,将 API 呈现给某些编程语言(其中包括Python)。在 plot.ly 网站上有一些强大的、开箱即用的图形。为了使用 Plotly,你需要设置你的API 密钥。图形处理会放在服务器端,并在互联网上发布,但也有一种方法可以避免这么做。
数据挖掘与统计
8、Scrapy
Scrapy 是用于从网络检索结构化数据(如联系人信息或 URL)的爬虫程序(也称为 spider bots)的库。它是开源的,用Python 编写。它最初是为 scraping 设计的,正如其名字所示的那样,但它现在已经发展成了一个完整的框架,可以从
API 收集数据,也可以用作通用的爬虫。 该库在接口设计上遵循著名的 Don』t Repeat Yourself 原则——提醒用户编写通用的可复用的代码,因此可以用来开发和扩展大型爬虫。 Scrapy 的架构围绕 Spider 类构建,该类包含了一套爬虫所遵循的指令。
9、Statsmodels
statsmodels 是一个用于 Python 的库,正如你可能从名称中猜出的那样,其让用户能够
通过使用各种统计模型估计方法以及执行统计断言和分析来进行数据探索。许多有用的特征是描述性的,并可通过使用线性回归模型、广义线性模型、离散选择模型、稳健的线性模型、时序分析模型、各种估计器进行统计。该库还提供了广泛的绘图函数,专门用于统计分析和调整使用大数据统计数据的良好性能。
结论
这个列表中的库被很多数据科学家和工程师认为是最顶级的,了解和熟悉它们是很有价值
的。这里有这些库在 GitHub 上活动的详细统计:
当然,这并不是一份完全详尽的列表,还有其它很多值得关注的库、工具包和框架。比如说
pytyhon学习资料
python学习资料