1、基本类型(array)
import numpy as np a=[1,2,3,4] b=np.array(a) #array([1,2,3.4]) type(b) #<type 'numpy.ndarray'> b.shape #(4,) c=[[1,2],[3,4]] #二维列表 d=np.array(c) #二位numpy数组 d.shape #(2,2) d.max(axis=0) #找维度0,列的最大值,即最后一个维度上的最大值,array([3,4]) d.max(axis=1) #找维度1,行的最大值,即倒数第二个维度上的最大值,array([2,4]) d.flatten() #展开一个Numpy数组为1维数组,array([1,2,3,4]) # 3*3的浮点型2维数组,并且初始化所有元素值为1 e = np.ones((3,3),dtype=np.float)
2、线性代数模块
在深度学习相关的数据处理核运算中,线性代数模块是其中最常用的,结合Numpy提供的基本函数,可以对向量、矩阵或是多维张量进行一些基本的运算。
import numpy as np b=np.array([ [1,2,3], [4,5,6], [7,8,9] ]) c=np.array([1,0,1]) np.dot(b,c) #矩阵相乘,注意维度,array([4,10,16]) d=np.array([ [2,1], [1,2] ]) ''' 求正定矩阵的本征值和本征向量 本征值为u,array([3.,1.]) 本征向量构成的二维array为v eig()是一般情况的本征值分解,对于更常见的对称实数矩阵 eigh()更快更稳定,不过输出的值的顺序和eig()是相反的 ''' u,v=np.linalg.eig(d)
3、随机模块(random)
import numpy as np import numpy.random as random # 设置随机数种子 random.seed(42) #产生一个1*3,【0,1】之间的浮点型随机数 random.rand(1,3) #产生10个【1,6】之间的整型随机数 random.randint(1,6,10) #产生2*5的标准正态分布样本 random.normal(size=(5,2)) # 对a进行in-place乱序,在训练数据时会用到。 random.shuffle(a)