numpy.eye#

numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C', *, device=None, like=None)[source]#

返回一个二维数组,对角线上的元素为 1,其他元素为 0。

参数:
Nint

输出的行数。

Mint,可选

输出的列数。如果为 None,则默认为 N

kint,可选

对角线的索引:0(默认值)表示主对角线,正值表示上对角线,负值表示下对角线。

dtype数据类型,可选

返回数组的数据类型。

order{‘C’, ‘F’},可选

输出是否应以行主序(C 样式)或列主序(Fortran 样式)存储在内存中。

版本 1.14.0 中的新功能。

devicestr,可选

要放置创建数组的设备。默认值:None。仅用于数组 API 互操作性,因此如果传递,则必须为 "cpu"

版本 2.0.0 中的新功能。

likearray_like,可选

参考对象,允许创建不是 NumPy 数组的数组。如果作为 like 传入的类数组支持 __array_function__ 协议,则结果将由其定义。在这种情况下,它确保创建与通过此参数传入的数组对象兼容的数组对象。

版本 1.20.0 中的新功能。

返回值:
I形状为 (N,M) 的 ndarray

一个数组,其中所有元素都等于零,除了 k 对角线,其值为 1。

另请参阅

identity

(几乎)等效函数

diag

从用户指定的 1D 数组创建对角线 2D 数组。

示例

>>> import numpy as np
>>> np.eye(2, dtype=int)
array([[1, 0],
       [0, 1]])
>>> np.eye(3, k=1)
array([[0.,  1.,  0.],
       [0.,  0.,  1.],
       [0.,  0.,  0.]])