登录
首页精彩阅读程序员之数据分析Python技术栈
程序员之数据分析Python技术栈
2017-03-07
收藏

程序员之数据分析Python技术栈

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的交互界面等,非常的强大与易用。

3. Numpy

NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的MatLab系统。

其速度很快,且功能强大,可以支持线性代数运算,傅立叶变换、随机数生成等等各类的数学元算。

4. Pandas

Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

其中提供了DataFrame的强大二维结构来做为数据分析的基本结构主体,Series做为高效的数据组结构来使用。 Pandas兼具Numpy高性能的数组计算功能以及电子表格、关系数据库(SQL)灵活得数据分析功能, 可以方便地完成重塑、切片、切块、聚合、排序以及选取数据子集等操作。

5. Matplotlib(图形展示包)

matplotlibpython最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中,它的文档相当完备,应用非常广泛,是Python进行数据分析的必备工具。且其已经与Pandas等工具包进行了深度集成,可以在pandas中直接调用各类绘图函数,直接生成对应图表。

6. Scipy

SciPy是一款方便、易于使用、专为科学和工程设计的Python工具包.它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等.

scipy有一个stats包,其中可以包含标准连续、离散概率分布、各类统计检验方法,以及更好的描述统计方法。

Numpy与Scipy的结合使用可以完全替代Matlab中的计算功能(包括其插件工具箱)

7. 常用的开发工具

以下为两个非常强大的集成开发环境,集成了各类所需的开发包,大家可以自行从官网上下载对应版本, 支持各类平台(window, mac, linux)以及32位/64位系统。

Canopy https://www.enthought.com/products/canopy/

Anaconda https://www.continuum.io/downloads

7. 总结

Python的社区中有非常多的工具, 比如keras就是一个强大的机器学习的实现包,且已经可以直接使用Tensorflow实现卷积神经的计算,相当的骚包。 好了,希望大家通过本文对基于Python的数据分析技术栈有个直观的认识。稍后的文章中,我们还将逐步详细介绍如何来一步一步实现数据分析的工作。


数据分析咨询请扫描二维码

客服在线
立即咨询