引言: 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位系统。
- Canopy https://www.enthought.com/products/canopy/
- Anaconda https://www.continuum.io/downloads
7. 总结
在Python的社区中有非常多的工具, 比如keras就是一个强大的机器学习的实现包,且已经可以直接使用Tensorflow实现卷积神经的计算,相当的骚包。 好了,希望大家通过本文对基于Python的数据分析技术栈有个直观的认识。稍后的文章中,我们还将逐步详细介绍如何来一步一步实现数据分析的工作。
---------- 罪恶的结束线,文章终于结束了 -------------------------------------------------------------- 本文系CDSN的博主木小鱼的笔记个人原创,如要转载,请保留原始链接和原作者信息,支持原创,方便你我。 作者本文也维护了一个今日头条上的头条号:程序加油站,欢迎大家关注。