
np.eye()函数返回一个二维数组 ,对角线为1,其他地方为0,大小在Python中指定。它返回一个所有项都等于0的数组,除了第k条对角线的值等于1。
对角线可以是主对角线、上对角线或下对角线,这取决于可选的参数 k。正k表示上对角线,负k 表示下对角线, 0k表示主对角线。 如果数值是正的,它指的是上对角线,而负值代表下对角线。
语法
numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C', *, like=None)
参数
N - 它是需要从函数中生成的行数。这是一个必要的参数。
M- 是指需要从函数中生成的列的数量。默认情况下,它被指定为无。如果分配了None,那么它就会创建一个X n矩阵。分配给n的值将被分配给M。
K- 它是对角线的索引。默认情况下,它被分配为0。因此,从第0个 索引开始的对角线 将被分配为1,如果这个值是正的,那么它指的是上对角线。如果该值小于0,它指的是下对角线。
Dtype- 它代表了数据类型。默认情况下,它被分配为浮点。因此,在数组中生成的所有值都是这个数据类型。
Order - 它有两个值,C和F。如果它是C,它被存储在行主位。如果是F,那么它就以列为主存储。
Like- 如果在like参数中传递了一个数组样式,那么只有当生成的输出与给定参数一样时,才会生成数组。
使用np.eye()函数创建eye矩阵的程序
import numpy as np
# Creating a 3 X 3 identical array using eye function
mat = np.eye(3)
# Printing the array
print(mat)
# Printing the shape of the array
print(mat.shape)
输出
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
(3, 3)
我们在这个程序中导入了一个numpy包,用于处理数值计算。然后,我们使用np.eye() 函数创建了一个3X3的相同阵列。一个相同的矩阵是一种矩阵,其中数组的中间对角线是1,其他元素都是0。
因此,我们使用numpy eye()方法创建了一个二维数组,N参数传递为3。要在Python中打印一个数组的形状,可以使用np.shape属性。
传递顺序参数
import numpy as np
# Creating a 3 X 3 identical matrix using eye function
mat = np.eye(4, 5, 2, order='F')
# Printing the array
print(mat)
# Printing the shape of the array
print(mat.shape)
输出
[[0. 0. 1. 0. 0.]
[0. 0. 0. 1. 0.]
[0. 0. 0. 0. 1.]
[0. 0. 0. 0. 0.]]
(4, 5)
在这个程序中,我们把N的值传成了4,对于M,我们给出了5,对于k,我们传的值是2。 然后,按照参数的顺序,我们用了F。
本教程到此结束。