NumPy 提供了一个 矩阵库模块numpy.matlib,该模块中的函数返回的是一个 matrix 对象,而非 ndarray 对象。矩阵由 m 行 n 列(m*n)元素排列而成,矩阵中的元素可以是数字、符号或数学公式等。
matlib.empty() 返回一个空矩阵,所以它的创建速度非常快。
该函数的参数说明如下:
示例如下:
import numpy.matlib
import numpy as np
#矩阵中会填充无意义的随机值
print(np.matlib.empty((2,2)))
输出结果:
numpy.matlib.zeros() 创建一个以 0 填充的矩阵,示例如下:
import numpy.matlib
import numpy as np
print(np.matlib.zeros((2,2)))
输出结果:
numpy.matlib.ones() 创建一个以 1 填充的矩阵。
import numpy.matlib
import numpy as np
print(np.matlib.ones((2,2)))
输出结果:
numpy.matlib.eye() 返回一个对角线元素为 1,而其他元素为 0 的矩阵 。
示例如下:
import numpy.matlib
import numpy as np
print (np.matlib.eye(n = 3, M = 4, k = 0, dtype = float))
输出结果:
该函数返回一个给定大小的单位矩阵,矩阵的对角线元素为 1,而其他元素均为 0。
import numpy.matlib
import numpy as np
print np.matlib.identity(5, dtype = float)
输出结果:
numpy.matlib.rand() 创建一个以随机数填充,并给定维度的矩阵。示例如下:
import numpy.matlib
import numpy as np
print (np.matlib.rand(3,3))
示例如下:
这里需要注意,因为 matrix 只能表示二维数据,而 ndarray 也可以是二维数组,所以两者可以互相转换。示例如下:
#创建矩阵i
import numpy.matlib
import numpy as np
i = np.matrix('1,2;3,4')
print (i)
输出结果:
实现 matrix 与 ndarray 之间的转换,如下所示:
import numpy.matlib
import numpy as np
j = np.asarray(i)
print (j)
k = np.asmatrix (j)
print (k)
输出结果: