NumPy(Numerical Python) 是科学计算基础库,提供大量科学计算相关功能,比如数据统计,随机数生成等。其提供最核心类型为多维数组类型(ndarray),支持大量的维度数组与矩阵运算,Numpy 支持向量处理 ndarray 对象,提高程序运算速度。
安装
安装 NumPy 最简单的方法就是使用 pip 工具,语法格式如下:
pip install numpy
【示例】arange 函数测试环境安装
import numpy as np
a=np.arange(10)
print(a)
执行结果如图所示:
在上面的程序中只涉及 numpy 模块中的一个 arange 函数,该函数可以传入一个整数类型的参数 n,函数返回值看着像一个列表,其实返回值类型是 numpy.ndarray。这是 Numpy 中特有的数组类型。如果传入 arange 函数的参数值是 n,那么 arange 函数会返回 0 到 n-1 的ndarray 类型的数组。
数组的创建
array 创建
numpy 模块的 array 函数可以生成多维数组。例如,如果要生成一个二维数组,需要向 array 函数传递一个列表类型的参数。每一个列表元素是一维的 ndarray 类型数组,作为二维数组的行。另外,通过 ndarray 类的 shape 属性可以获得数组每一维的元素个数(元组形式),也可以通过 shape[n]形式获得每一维的元素个数,其中 n 是维度,从 0 开始。
语法格式如下:
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
array 参数说明
【示例】创建一维
import numpy as np
a=np.array([1,2,3,4])
print(a)
print(type(a))
执行结果如图所示:
【示例】创建二维
b=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(b)
print(type(b))
执行结果如图所示:
【示例】ndmin 参数的使用
c=np.array([5,6,7],dtype=float,ndmin=3)
print(c)
执行结果如图所示:
【示例】dtype 参数的使用
d=np.array([1,2,3],dtype=float)
print(d)
执行结果如图所示:
arange 创建
使用 arange 函数创建数值范围并返回 ndarray 对象,函数格式如下:
numpy.arange(start, stop, step, dtype)
arange 参数说明
【示例】arange 生成 0 到 5 的数组
import numpy as np
a=np.arange(1,6)
print(a)
执行结果如图所示:
【示例】arange 设置了起始值、终止值及步长
b=np.arange(1,10,3)
print(b)
执行结果如图所示:
【示例】arange 创建二维数组
c=np.array([np.arange(1,4),np.arange(4,7),np.arange(7,10)])
print(c)
执行结果如图所示:
随机数创建
numpy.random.random(size=None)
该方法返回[0.0, 1.0)范围的随机数。
【示例】numpy.random.random(size=None)的使用
import numpy as np
# 一维
a=np.random.random(size=5)
print(a)
# 二维
b=np.random.random(size=(3,4))
print(b)
# 三维
c=np.random.random(size=(2,3,4))
print(c)
执行结果如图所示:
numpy.random.randint()
该方法有三个参数 low、high、size 三个参数。默认 high 是 None,如果只有 low,那范围就[0,low)。如果有 high,范围就是[low,high)。
【示例】numpy.random.randint()的使用
import numpy as np
def randomintTest():
a=np.random.randint(6,size=10)
print(a)
print(type(a))
b=np.random.randint(5,11,size=(4,3))
print(b)
if __name__=='__main__':
randomintTest()
执行结果如图所示:
numpy.random.randn(d0,d1,…,dn)
randn 函数返回一个或一组样本,具有标准正态分布(期望为 0,方差为 1)。
dn 表格每个维度
返回值为指定维度的 array
【示例】numpy.random. randn ()的使用
import numpy as np
x=np.random.randn()
print(x)
y=np.random.randn(2,4)
print(y)
z=np.random.randn(2,3,4)
print(z)
执行结果如图所示:
【示例】np.random.normal 指定期望和方差的正太分布
print(np.random.normal(loc=3,scale=4,size=(2,2,3)))
执行结果如图所示:
ndarray 对象
NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。
ndarray 对象是用于存放同类型元素的多维数组。
ndarray 中的每个元素在内存中都有相同存储大小的区域。
ndarray 内部由以下内容组成:
□一个指向数据(内存或内存映射文件中的一块数据)的指针。
□数据类型或 dtype,描述在数组中的固定大小值的格子。
□一个表示数组形状(shape)的元组,表示各维度大小的元组。 NumPy 的数组中比较重要 ndarray 对象属性有:
ndarray 对象属性
【示例】ndarray 属性测试
import numpy as np
x1=np.random.randint(10,size=6)
print(x1)
x2=np.random.randint(10,size=(3,4))
print(x2)
x3=np.random.randn(3