随机种子
np.random.random([])可以生成随机数矩阵,有时候我们想每次生成的随机数矩阵都一样,这时只需在前面加一句
np.random.seed(0) 即可,如:
np.random.seed(0)
a=np.random.random([2,2])
当然,随机种子不一定为0,可以自己设置
tile
tile() 函数,就是将原矩阵横向、纵向地复制。tile 是瓷砖的意思,顾名思义,这个函数就是把数组像瓷砖一样铺展开来。
举个例子,原矩阵:
mat = array([[1,2], [3, 4]])
横向:
tile(mat, (1, 4))
# 等同于
tile(mat, 4)
结果:
[[1 2 1 2 1 2 1 2]
[3 4 3 4 3 4 3 4]]
纵向:
tile(mat, (3, 1))
结果:
[[1 2]
[3 4]
[1 2]
[3 4]
[1 2]
[3 4]]
同时横向纵向也可以,就不写了
identity
输入参数n为行数或列数,返回一个n*n的对角阵,对角线元素为1,其余为0。dtype可选,默认为float格式。若dtype设为“bool”,则返回对角线元素为True其余元素为Flase的方阵。
np.identity(2)
[[1., 0.],
[0., 1.]]
改变维度
resize函数 和reshape函数不说了,需要知道resize会直接修改所操作的数组,所以resize没有返回值,使用时要注意
ravel
ravel函数 可以将多维数组展平(也就是变回一维)
c = b.ravel()
flatten
flatten函数 也是将多维数组展平,与ravel函数的功能相同,不过flatten函数会请求分配内存来保存结果,而ravel函数只是返回数组的一个视图(view)
c = b.ravel()
transpose
这个是转置函数
scipy 稀疏矩阵
切片操作
If you want to obtain a sparse matrix as output the fastest way to do row slicing is to have a csr type, and for columns slicing csc。