NumPy(Numerical Python) 是科学计算基础库,提供大量科学计算相关功能,比如数据统计,随机数生成等。其提供最核心类型为多维数组类型(ndarray),支持大量的维度数组与矩阵运算,Numpy 支持向量处理 ndarray 对象,提高程序运算速度。
那么Numpy到底有什么功能呢?其实Numpy的功能非常多,主要用于数组计算。Numpy可以让用户在 Python 语言中使用向量和数学矩阵。Numpy 是 Python 语言在科学计算领域取得成功的关键之一,如果想通过 Python 语言学习数据科学、人工智能(包括深度学习、语言处理等分支),就必须学习 Numpy。 通过阅读本文章,你可以:
-
了解什么是 Numpy
-
掌握如何使 Numpy 操作数组,如创建数组、改变数组的维度、拼接和分隔数组等
-
掌握 Numpy 的常用函数,如数组存取函数、加权平均数函数、最大值和最小值函数等
Numpy 是第三方程序库,所以在使用 Numpy 之前必须安装 Numpy。如果使用的是 Anaconda Python 开发环境,那么 Numpy 已经集成到Anaconda 环境中了,不需要再安装。如果使用的是官方开发环境,可以使用 pip 命令安装Numpy,语法格式如下:
【示例1】 测试 numpy 模块安装是否成功
执行结果如图
在上面的程序中只涉及 numpy 模块中的一个 arange 函数,该函数可以传入一个整数类型的参数 n,函数返回值看着像一个列表,其实返回值类型是numpy.ndarray。这是 Numpy中特有的数组类型。如果传入 arange 函数的参数值是 n,那么 arange 函数会返回 0 到 n-1 的ndarray 类型的数组。
numpy 模块的 array 函数可以生成多维数组。例如,如果要生成一个二维数组,需要向 array 函数传递一个列表类型的参数。每一个列表元素是一维的 ndarray 类型数组,作为二维数组的行。另外,通过 ndarray 类的 shape 属性可以获得数组每一维的元素个数(元组形式),也可以通过 shape[n]形式获得每一维的元素个数,其中 n 是维度,从 0 开始。
语法格式如下:
表 1-1 array 参数说明
【示例2】 创建一维数组
执行结果如图
【示例3】创建二维数组
执行结果如图
【示例4】array()函数 ndmin 参数的使用
执行结果如图
【示例5】array()函数 dtype 参数的使用
执行结果如图
使用 arange 函数创建数值范围并返回 ndarray对象,函数语法格式如下:
下图是arange 参数说明
【示例6】arange()函数创建数组
执行结果如图
【示例 7】arange()函数指定起始值、终止值及步长
执行结果如图
【示例8】arange()函数创建二维数组
执行结果如图
numpy 中的 random 模块包含了很多方法可以用来产生随机数,对 random 中的一些常用方法如表所示:
【示例9】numpy.random.random(size=None)的使用