numpy.eye#

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

返回一个对角线上为1,其余位置为0的二维数组。

参数:
N整型

输出中的行数。

M整型,可选

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

k整型,可选

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

dtype数据类型,可选

返回数组的数据类型。

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

输出在内存中应以行主序(C 风格)还是列主序(Fortran 风格)存储。

device字符串,可选

创建的数组应放置在哪种设备上。默认值:None。仅用于 Array-API 互操作性,因此如果传入,必须是 "cpu"

2.0.0 版本新增。

like类数组对象,可选

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

1.20.0 版本新增。

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

一个数组,其中除第 k 条对角线上的值全为 1 外,所有元素都等于 0。

另请参阅

identity

(几乎)等价函数

diag

用户指定的一维数组生成的二维对角数组。

示例

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