引言: Python 是一种非常流行的脚本语言,其还提供了一个科学技术栈,可以进行快捷方便的数据分析,本系列文章将聚焦在如何使用基于 Python 的技术栈来构建数据分析的工具集合。工欲善其事,必先利其器,让我们来看看这些工具吧。
0. 数据分析 以及机器学习
信息时代唯一不变的就是变化。 随着信息化技术的推广和应用,大数据技术的大规模应用,于是乎数据分析、数据挖掘、机器学习甚至于从前高大上的人工智能(AI)已经开始频繁出现在各个场合,这一切昭示着数据时代的来临。
对于程序猿们来说,除了写代码,实现特定的功能之外,在这个纷繁变化的时代,也需要去了解和掌握一些数据分析的技能与工具,正如之前掌握一些 Linux / 数据库方面的技能一样;有了这些技能,可以给你大大加分,或许可以帮助你进入了一个崭新的广阔领域。
1. Python 是什么?
Python 是大名鼎鼎的通用脚本语言,可以满足全功能的程序设计需求;目前主流的是 2.7.x 和 3.x 版本,在 2020 年之时,2.x 版本将不再被继续支持。 Python 最大的有点就是简单易学,所以在其他领域内,应用甚广。我们这里所讲的各类工具包,都是建立在 Python 之上的。
2. IPython 是什么?
ipython 是一个 python 的交互式 shell,比默认的 python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。对于诸多的程序猿们来说,这个就是一个极为强大的交互工具,基本上后续的诸多数据分析操作都是建立在 ipython 之上的。
ipython 提供了多种实用模式,包括:terminal,界面以及 web 的交互界面等,非常的强大与易用。
安装指南: http://ipython.org/install.html
3. Numpy
NumPy 系统是 Python 的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比 Python 自身的嵌套列表(nested list structure) 结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说 NumPy 将 Python 相当于变成一种免费的更强大的 MatLab 系统。
其速度很快,且功能强大,可以支持线性代数运算,傅立叶变换、随机数生成等等各类的数学元算。
官方网站: http://www.numpy.org/
4. Pandas
Python Data Analysis Library 或 pandas 是基于 NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas 提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使 Python 成为强大而高效的数据分析环境的重要因素之一。
其中提供了 DataFrame 的强大二维结构来做为数据分析的基本结构主体,Series 做为高效的数据组结构来使用。 Pandas 兼具 Numpy 高性能的数组计算功能以及电子表格、关系数据库(SQL)灵活得数据分析功能, 可以方便地完成重塑、切片、切块、聚合、排序以及选取数据子集等操作。
官方网站: http://pandas.pydata.org/
5. Matplotlib(图形展示包)
matplotlib 是 python 最著名的绘图库,它提供了一整套和 matlab 相似的命令 API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入 GUI 应用程序中,它的文档相当完备,应用非常广泛,是 Python 进行数据分析的必备工具。且其已经与 Pandas 等工具包进行了深度集成,可以在 pandas 中直接调用各类绘图函数,直接生成对应图表。
官方站点: http://matplotlib.org/
6. Scipy
SciPy 是一款方便、易于使用、专为科学和工程设计的 Python 工具包. 它包括统计, 优化, 整合, 线性代数模块, 傅里叶变换, 信号和图像处理, 常微分方程求解器等等.
scipy 有一个 stats 包,其中可以包含标准连续、离散概率分布、各类统计检验方法,以及更好的描述统计方法。
Numpy 与 Scipy 的结合使用可以完全替代 Matlab 中的计算功能(包括其插件工具箱)
官方站点: http://www.scipy.org/
7. 常用的开发工具
以下为两个非常强大的集成开发环境,集成了各类所需的开发包,大家可以自行从官网上下载对应版本, 支持各类平台(window, mac, linux) 以及 32 位 / 64 位系统。
7. 总结
在 Python 的社区中有非常多的工具, 比如 keras 就是一个强大的机器学习的实现包,且已经可以直接使用 Tensorflow 实现卷积神经的计算,相当的骚包。 好了,希望大家通过本文对基于 Python 的数据分析技术栈有个直观的认识。稍后的文章中,我们还将逐步详细介绍如何来一步一步实现数据分析的工作。
- ----------罪恶的结束线,文章终于结束了 --------------------------------------------------------------
- 本文系CDSN的博主木小鱼的笔记个人原创,如要转载,请保留原始链接和原作者信息,支持原创,方便你我。
- 作者本文也维护了一个今日头条上的头条号:程序加油站,欢迎大家关注。
来源: http://blog.csdn.net/blueheart20/article/details/71036664