numpy.eye()函数简单使用
numpy.eye(N,M =无,k = 0,dtype = <class’flove’>,order =‘C’ )
返回一个二维数组,其中对角线为1,零点为零。
参数:
N : int
输出中的行数。
M : int,可选
输出中的列数。如果无,默认为Ñ。
k : int,可选
对角线的索引:0(默认值)指的是主对角线,正值指的是上对角线,负值指的是下对角线。
dtype : 数据类型,可选
返回数组的数据类型。
order: {‘C’,‘F’},可选
输出是否应以内存中的行主(C风格)或列主(Fortran风格)顺序存储。
例子一:下面是在学习深度学习时遇到的例子
import numpy as np
A = np.matrix([
[0, 1, 0, 0],
[0, 0, 1, 1],
[0, 1, 0, 0],
[1, 0, 1, 0]],
dtype=float
)
I = np.matrix(np.eye(A.shape[0])) # 获取A矩阵的行数,生成一个行数为4的对角线为 1 的矩阵
# I为:
[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]
例子二
np.eye(2, 3, dtype=float) # 输出一个2行3列的对角线为1的矩阵,且把元素设为浮点数
输出:
[[1. 0. 0.]
[0. 1. 0.]]
.
.
.