1.numpy的创建方法:
np.array() #将列表转化为数组的方法
np.arange() #range的numpy版,迭代的生成numpy对象
np.linspace() #在一定的范围内,限定数组长度,生成数组
np.zeros() #生成全零数组
np.ones() #生成全1数组
np.empty() #根据指形状创建空数组
np.eye() #创建单位矩阵的数组
np.ndindex() :用于输出数组中每个点的坐标
np.max():取最大值
np.min()
np.mean()取平均值
np.prod():求所有元素的乘积
np.std():求标准差
2.数组和标量之间的运算:
对于数组a:
a+1 表示数组的每一个元素都加一
a*3 表示数组的每个元素都乘于3
a**2 表示对a中的每个元素都开方
数组切片:
对于一维数组:a[1], a[1:4], a[:4], a[4:]
对于二维数组:a[1:2,3:5], a[:,1:3], a[:,1]
3. *numpy中布尔类型的索引:
例如:对于数组a, 选出所有大于5的数:
a=a[a>5]
原理:
a>5 会对a中的每个元素进行判断,并返回一个布尔数组
布尔型索引:将同样大小的布尔数组传入索引,会返回一个由所有True对应位置的元素组成的数组
同理: 返回一个数组,使得所有的元素大于5且为偶数:
a[(a>5) & (a%2==0)]
4. a=np.array(['a','b','c','d','e'])
b=a[[1,3,4]] #对于数组a,选出其中的第1,3,4个元素,组成新的数组,新的数组仍为numpy类型
b=[:,[1,3]] #对于多维数组的花样式切片索引
5.numpy.random子包中的常用函数:
6. np.unravel_index(indices, dims): 返回indices中的元素在dims维度的数组上的索引值,按默认元组的方式返回。
例如:
np.unravel_index(indices = [22, 41, 37], dims = (7,6)) : 返回的是元祖(array([3,6,6]), array([4, 5, 1]))
7.np.spacing(1):产生一个无穷小的随机数
8.numpy中的内置类型转化为方法:a = a.astype(b.dtype) #把a转化为b的类型
9. numpy中的广播机制:当两个多维数组相加或者相乘时,如果他们的维度不相同,再对应的不相同的维度上只要有一个矩阵的该维度值为1,则就可以进行广播机制。
例如:a.shape为:(2,3,1,5,1)
b.shape为:(1,3,4,5,2):表示可以进行广播机制;
10:np.tile()和np.repeat()都可以对array进行重复操作,但np.tile()是以axis为最小单位(axis-wise)进行重复的,而np.repeat()是以element为最小单位(element-wise)进行重复的