numpy.eye#

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

返回一个对角线上为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 条对角线,其值等于一.

参见

identity

(几乎)等效函数

diag

从用户指定的 1-D 数组生成对角 2-D 数组.

示例

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