NumPy:1,在使用Numpy之前,通过import命令将numpy库导入,并命名为np。import numpy as np。
2,利用numpy提供的函数方便的创建一些特定的数组,具体内容如下:
函数 含义
np.zeros() 创建指定维度全0多维数组。
np.ones() 创建指定维度全1多维数组。
np.eye() 创建指定维度的单位矩阵。
np.arange() 创建指定数量的顺序数组(默认0开始)。
linspace() 创建指定范围的一维数组,并分成若干等份。
reshape() 更改数组的维度
3,数组的运算:数组和标量的运算,表示标量和数组的每一个元素进行运算。
两个同维度数组之间的运算表示两个数组中对应的元素之间进行运算
矩阵是数组的一个特例,它只能是二维的数据结构。而数组可以是多维的。通过np.mat()函数将二维数组转换为矩阵。
不同维度的数组进行运算时,数组具有广播特性,即自动将维度进行扩展。例如一个3*3的二维数组和一个1*3的一维数组进行加法或者减法,1*3的一维数组会进行广播,将维度扩展为3*3。
4,数组的索引:含有n个元素数组的索引为0,1,…,n-1。
一维数组索引:
arr=np.arange(10)
arr[5] #索引第6个元素
arr[5:8] #选择第6到第8个元素作为数组
arr[:] = 3 #将数组的全部元素改为3
二维数组索引:
arr=np.array([[1,2,3],[4,5,6],[7,8,9]])
arr[1] #索引二维数组的第2行
arr[0,2] #索引二维数组的1行3列元素
arr[:2] #选择二维数组第1行和第2行(不含第3行)
arr[:,1] #选择二维数组第2列
布尔索引:
5,三元运算符np.where(表达式,数1,数2),当表达式为真,结果为数1,否则结果为数2。
6,函数
一元函数:
函数 说明
Abs、fabs 计算整数、浮点数或负数的绝对值,对于非复数值,可以使用更快的fabs
sqrt 计算各元素的平方根,相当于arr**0.5
Square 计算各元素的平方。相当于arr **2
exp 计算各元素的指数e*
log、log10、log2、log1p 分别为自然对数(底数为e)、底数为10的log、底数为2的log、log(1+x)
sign 计算各元素的正负号:1(正数)、o(零)、一1(负数)
Cell 计算各元素的ceiling值,即大于等于该值的最小整数
floor 计算各元素的floor值,即小于等于该值的最大整数
二元函数:
函数 说明
add 将数组中对应的元素相加
subtract 从第一个数组中减去第二个数组中的元素
multiply 数组元素相乘
divide、floor_dvide 除法或向下圆整除法(丢弃余数)
power 对第一个数组中的元素A,根据第二个数组中的相应元素B,计.算AB
maximum、 fmax 元素级的最大值计算。fmax将忽略NaN
minimum、fmin 元素级的最小值计算。fmin将忽略NaN
mod 元素级的求模计算(除法的余数)
copysign 将第二个数组中的值的赋值给第一个数组中的值
7,均值mean:np.mean表示求数组的平均值。
8, sum方法:np.sum表示计算数组元素的和。
9,最小值与最大值:np.min和np.max表示数组元素的最小值和最大值。
10,排序(sort):np.sort表示对数组元素进行排序。
11,唯一化(unique):用于找出数组中的唯一值,并返回已排好序的结果。
生成随机数(uniform):
函数 说明
rand(d0,d1,..,dn) 根据d0-dn创建随机数数组,浮点数,[0,1),均匀分布 np.random.rand(3,4)
randn(d0,d1,..,dn) 根据d0-dn创建随机数数组,标准正态分布 np.random.randn(3,4)
randint(low,high,shape) 根据shape创建随机整数或整数数组,范围是[low, high) np.random.randint(100,200,
(3,4))
uniform(low,high,size) 产生具有均匀分布的数组,low起始值,high结束值,size形状 np.random.uniform(0,10,(3,4))
normal(loc,scale,size) 产生具有正态分布的数组,loc均值,scale标准差,size形状 np.random.normal(10,5,(3,4))
poisson(lam,size) 产生具有泊松分布的数组,lam随机事件发生率,size形状 np.random.poisson(3,(3,4))
12,数组拼接:数组拼接包括np.vstack()和np.hstack(),其中vstack表示竖拼接,hstack表示行拼接。