numpy.eye#

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

Return a 2-D array with ones on the diagonal and zeros elsewhere.

Parameters:
Nint

Number of rows in the output.

Mint, optional

Number of columns in the output. If None, defaults to N.

kint, optional

Index of the diagonal: 0 (the default) refers to the main diagonal, a positive value refers to an upper diagonal, and a negative value to a lower diagonal.

dtypedata-type, optional

Data-type of the returned array.

order{‘C’, ‘F’}, optional

Whether the output should be stored in row-major (C-style) or column-major (Fortran-style) order in memory.

devicestr, optional

The device on which to place the created array. Default: None. For Array-API interoperability only, so must be "cpu" if passed.

在 2.0.0 版本加入.

likearray_like, optional

Reference object to allow the creation of arrays which are not NumPy arrays. If an array-like passed in as like supports the __array_function__ protocol, the result will be defined by it. In this case, it ensures the creation of an array object compatible with that passed in via this argument.

在 1.20.0 版本加入.

Returns:
Indarray of shape (N,M)

An array where all elements are equal to zero, except for the k-th diagonal, whose values are equal to one.

参见

identity

(almost) equivalent function

diag

diagonal 2-D array from a 1-D array specified by the user.

Examples

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