📅  最后修改于: 2023-12-03 15:03:16.815000             🧑  作者: Mango
np.eye(N, M=None, k=0, dtype=<class 'float'>, order='C')
np.eye()
是numpy中用于创建对角线上全为1,其它位置全为0的矩阵的函数。这个函数通常用于生成单位矩阵。
N
:矩阵的行数M
:矩阵的列数,默认为N
k
:对角线的偏移量,0表示主对角线上的元素,默认为0。dtype
:生成数组的类型。默认为float。order
:在存储中使用的模式。默认为'C'
,即C风格的按行存储。一个全为0但对角线上全为1的矩阵。
import numpy as np
# 创建一个 5x5 的单位矩阵
I = np.eye(5)
print(I)
输出结果为:
array([[1., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1.]])
如果需要创建自定义的单位矩阵,可以使用np.eye()
函数和列表组合的方式来实现:
import numpy as np
# 注意:列表中的元素表示需要将矩阵的哪些元素设置为1
custom_list = [[0, 2, 4], [1, 3]]
# 创建一个 5x5 的单位矩阵,但将指定位置的元素设置为 1
I_custom = np.eye(5)[custom_list]
print(I_custom)
输出结果为:
array([[[1., 0., 1., 0., 1.],
[0., 1., 0., 1., 0.]],
[[1., 0., 0., 0., 0.],
[0., 1., 0., 0., 0.]]])