库名 作用
Numpy 基础科学计算
Pandas 数据处理
Matplotlib 绘制图表
Scipy 高级科学计算
Ipython 交互式shell增强版

Numpy

Numpy 是python科学计算的基础包,本书大部分内容都基于numpy以及构建于其上的库。其功能有:

  • 快速高效的多维数组对象ndarray
  • 用于对数组执行元素级计算以及直接对数组执行数字运算的函数
  • 用于读写硬盘上基于数组的数据集的工具
  • 线性代数运算,傅里叶变换,以及随机数生成
  • 用于将C,C++,Fortran代码集成到python的工具

除了为python提供快速的数组处理能力,numpy在数据分析方面还有一个主要作用,即作为在算法之间传递数据的容器。对于数值型数据,numpy 数组在储存和处理数据时要比内置的python数据结构高效得多。

Numpy.png

Pandas

  • Pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数。它是使python成为强大而高效的数据分析环境的重要因素之一。本书用的最多的pandas对象是dataframe,它是一个面向列的二维表结构,且含有行标和列标。
  • Pandas兼具numpy高性能的数组计算功能以及电子表格和关系型数据库(SQL)灵活的数据处理功能。它提供了复杂精细的索引功能,以便更为便捷地完成重塑,切片和切块聚合以及选取数据子集等操作。

    Pandas-1.jpgPandas-2.jpgPandas-3.png

    Matplotlib

    Matplotlib是最流行的用于绘制数据图表的python库。它非常适合创建出版物上用的图表。它和ipython结合得很好,因而提供了一种非常好用的交互式数据绘图环境。绘制的图表也是交互式,可以利用绘制窗口中的工具栏放大图表中的某个区域对整个图表进行平移浏览。

    Matplotlib.png

    Ipython

    Ipython是python科学计算标准工具集的组成部分,它将其他所有东西联系到了一起。它为交互式和探索式计算提供了一个强健而高效的环境。它是一个增强的python shell,目的是提高编写,测试,调试python代码的速度。它主要用于交互式数据处理和利用matplotlib对数据进行可视化处理。
    除标准的基于终端的ipython shell外,该项目还提供了:

  • 一个类似于mathematica的HTML笔记本

  • 一个基于Qt框架的GUI控制台,其中含有绘图,多行编辑以及语法高亮显示等功能。
  • 用于交互式并行和分布式计算的基础架构

    jupyter_notebook_cheat_sheet.pdf

    Scipy

    Scipy是一组专门解决科学计算中各种标准问题域的包的集合,主要包括下面这些包:

  • Scipy.integrate:数值积分例和微分方程求解器

  • Scipy.linalg:扩展了由numpy.linalg提供的线性代数例程和矩阵分解功能
  • Scipy.optimize:函数优化器(最小化器)以及根查找算法
  • Scipy.signal:信号处理工具
  • Scipy.sparse:稀疏矩阵和稀疏线性系统求解器


Scipy.png

引入惯例:
Python社区已经广泛接受了一些常用模块的命名惯例:
Import numpy as np
Import pandas as pd
Import matplotlib.pyplot as plt