
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
NumPy 是一个运行速度非常快的数学库,主要用于数组计算,NumPy包含一个强大的N维数组对象 ndarray,该对象是一个广播功能函数,是整合 C/C++/Fortran代码的工具,具有线性代数、傅里叶变换、随机数生成等功能。
(1)使用已有的发行版本。对于许多用户,尤其是在 Windows操作系统中,最简单的方法是下载以下的 Python 发行版,它们包含了所有的关键包(包括 NumPy、SciPy、matplotlib、IPython、SymPy 以及 Python 核心自带的其他包)。
(2)使用 pip 安装。安装 NumPy 最简单的方法就是使用 pip 工具。
(3) Linux 操作系统下安装。
(4)Mac操作系统下安装。
(5)安装验证。
NumPy 支持的数据类型比 Python 内置的类型要多很多,基本上都可以和 C的数据类型对应,其中部分类型对应Python 内置的类型。
数据类型(dtype)对象用来描述与数组对应的内存区域如何使用,这取决于如下几个方面:
数据的类型(整数、浮点数或者 Python 对象)。
数据的大小(如整数使用多少个字节存储)。
数据的字节顺序(小端法或大端法)。
在结构化类型的情况下,取决于字段的名称、每个字段的数据类型和每个字段所取的内存块的部分。
如果数据类型是子数组,则取决于它的形状和数据类型。
NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推。在 NumPy中,每一个线性的数组称为一个轴(axis),也就是维度(dimensions)。比如说,二维数组相当于两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。所以一维数组就是 NumPy 中的轴(axis),第一个轴相当于底层数组,第二个轴是底层数组里的数组,而轴的数量——秩,就是数组的维数。
Ndarray 数组除了可以使用底层 Ndarray 构造器来创建外,还可以通过以下几种方式来创建。
(1)numpy.empty()。
(2)numpy.zeros()。
(3) numpy.ones()。
(1) numpy.asarray()。
(2) numpy.frombuffer()。
Ndarray对象的内容可以通过索引或切片来访问和修改,与Python中list的切片操作一样。