numpy.eye

2018-11-16  本文已影响0人  HappySheep欢乐小羊

来源:https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.eye.html


numpy.eye

numpy.eye(NM=Nonek=0dtype=<class 'float'>order='C'[source]

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

    Parameters:

            N : int -  Number of rows in the output.

            M : int, optional - Number of columns in the output. If None, defaults to N.

            k : int, 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.

            dtype : data-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.                          New in version 1.14.0.

    Returns:

            I : ndarray 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.

See also

identity

        (almost) equivalent function

diag

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

Examples

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

Source Code 来源:https://github.com/numpy/numpy/blob/v1.15.1/numpy/lib/twodim_base.py#L140-L194

def eye(N, M=None, k=0, dtype=float, order='C'):

    """

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

    Parameters

    ----------

    N : int 

            Number of rows in the output.

    M : int, optional

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

    k : int, 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.

    dtype : data-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. 

          .. versionadded:: 1.14.0

    Returns

    -------

    I : ndarray 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.

    See Also

    --------

    identity : (almost) equivalent function

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

    Examples

    --------

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

    """

    if M is None:

        M = N

    m = zeros((N, M), dtype=dtype, order=order)

    if k >= M:

        return m

    if k >= 0:

        i = k

    else:

        i = (-k) * M

    m[:M-k].flat[i::M+1] = 1

    return m

上一篇下一篇

猜你喜欢

热点阅读