📜  np.eye(5)[list] - Python (1)

📅  最后修改于: 2023-12-03 15:03:16.815000             🧑  作者: Mango

Python中的np.eye()函数

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.]]])