Python数据分析四剑客,你知道那些?

Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。

一、是因为Python本身具有简捷优美、易学易用的特点;

二、是由于互联网的飞速发展,我们正迎来大数据的时代,而Python无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用Python便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。

Python被大量应用在数据挖掘和机器学习领域,其中使用极其广泛的是IPython、Numpy、pandas、Matplotlib等库。对于希望使用Python来完成数据分析工作的人来说,学习IPython、Numpy、pandas、Matplotlib这个组合是目前看来不错的方向。

1

IPython

IPython是Python的加强型交互式解释器。

IPython是使用Python进行数据分析、处理、呈现的重要选择之一。它是一个与Python科学计算包(主要包括Numpy、pandas、Matplotlib等)紧密联系的交互式开发环境,它同时也是Python科学计算包的一部分。

主要特点包括:

提供给用户一个强大的交互界面。

Jupter Notebook的内核。

高效的交互式处理、呈现数据(特别是与Matplotlib一起使用)。

适合并行处理计算。

IPython加上一个文本编辑器是科学计算者使用Python进行数据分析、处理、呈现的最佳选择之一。

IPython主要包括:

一个强大的、交互式的Python壳

Jupyter内核,支持用户在Jupyter Notebook以及其他终端与IPython的交互

IPyton壳

2017年最新发布的IPython壳以及内核具有以下这些重要的特性:

全面的对象检查。

记录输入历史。

缓存输出结果。

扩展的代码补全功能,可以补全变量、关键字、文件名、函数名等。

对系统“魔法”方法的扩展,可以处理与操作系统相关的任务。

丰富的配置系统支持不同状态的切换。

历史信息登录与重载。

支持不同语法。

轻松嵌入到其他Python程序中。

对pdb调试器和Python测试工具的集成。

2

Numpy

Numpy是Python科学计算库的基础。

主要包括:

强大的N维数组对象和向量运算

一些复杂的功能

与C/C++和Fortran代码的集成

实用的线形代数运算、傅立叶变换、随机数生产等

Numpy提供了一个简洁的C语言接口,可以非常方便地使用C语言编写的代码操作Numpy数组对象,反过来使用C语言生成的数组也可以轻松的转化成Numpy数组对象;

这一特性使得Python轻松地与其他编程语言C/C++粘结在一起。Numpy除了用作科学计算,也可以用作多维度普通数据的容器;并且可以定义任何类型的数据,使得Numpy高效、无缝地与各种类型的数据分析库连接起来。

Numpy的主要对象是一个多维度的、均匀的多维数组。Numpy提供了各种函数方法可以非常方便灵活的操作数组,熟练掌握数组的基本概念是使用数组这种数据结构的基本要求。

3

pandas

pandas是建立在Numpy基础上的高效数据分析处理库,是Python的重要数据分析库。

pandas提供了众多的高级函数,极大地简化了数据处理的流程,尤其是被广泛地应用于金融领域的数据分析。

pandas主要包括:

带有标签的数据结构,主要包括序列(Series)和数据框(DataFrame)等。

允许简单索引和多级索引。

整合了对数据集的集合和转换功能。

生成特定类型的数据。

支持从Excel、CSV等文本格式中文导入数据,以Pytables/HDF5格式高效地读/写数据。

能够高效地处理带有默认值的数据集。

能够直接进行常规的统计回归分析。

4

Matplotlib

Matplotlib是一个主要用于绘制二维图形的Python库。

数据可视化是数据分析的重要环节,借助图形能够帮助更加直观地表达出数据背后的”东西”。

Matplolib最初主要模仿Matlab的画图命令,但是它是独立于Matlab的,可以自由、免费使用的绘图包。Matplotlib依赖于之前介绍的Numpy库来提供出色的绘图能力。

Matplotlib项目是John Hunter在2002年发起的,目标是建立一个具备以下特点的Python绘图工具包:

能够绘制出高质量的图形,并且图形里面的镶嵌的文本必需足够美观。

能够和Tex文档一起输出。

能够嵌入到GUI(图形用户界面)应用程序中。

代码足够简洁并且可扩展性强。

绘图命令足够方便。

经过社区多年以来的努力,Matplotlib已经具备了上面列出的所有特点。现在Matplotlib被广泛地应用于各种生产、科学研究等环境中,比如在网络服务中动态生成图形、在IPython壳下交互使用Matplotlib绘图等。

Matplotlib从概念上可以分为三层:

matplotlib.pylab:这一层给主要给用户提供一些简单的命令来生成图形,语法风格和Matlab非常接近。

Matplotlib的API:这一层主要给用户提供了直接创建图形、线条、文本等的功能。这是一个抽象层,它并不关心图形的输出。

最后一层是后端:主要是管理图形的输出等其他一些功能。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180726A1V3BP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券