numpy.eye

作者: HappySheep欢乐小羊 | 来源:发表于2018-11-16 14:50 被阅读0次

    来源: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

    相关文章

      网友评论

          本文标题:numpy.eye

          本文链接:https://www.haomeiwen.com/subject/fgdmfqtx.html