zoukankan      html  css  js  c++  java
  • numpy的nonzero函数

    看官方文档:

    In [10]: help(np.nonzero)
    Help on function nonzero in module numpy.core.fromnumeric:

    nonzero(a)
    Return the indices of the elements that are non-zero.

    Returns a tuple of arrays, one for each dimension of `a`, containing
    the indices of the non-zero elements in that dimension. The
    corresponding non-zero values can be obtained with::

    a[nonzero(a)]

    To group the indices by element, rather than dimension, use::

    transpose(nonzero(a))

    The result of this is always a 2-D array, with a row for
    each non-zero element.

    Parameters
    ----------
    a : array_like
    Input array.

    Returns
    -------
    tuple_of_arrays : tuple
    Indices of elements that are non-zero.

    See Also
    --------
    flatnonzero :
    Return indices that are non-zero in the flattened version of the input
    array.
    ndarray.nonzero :
    Equivalent ndarray method.
    count_nonzero :
    Counts the number of non-zero elements in the input array.

    Examples
    --------
    >>> x = np.eye(3)
    >>> x
    array([[ 1., 0., 0.],
    [ 0., 1., 0.],
    [ 0., 0., 1.]])
    >>> np.nonzero(x)
    (array([0, 1, 2]), array([0, 1, 2]))

    >>> x[np.nonzero(x)]
    array([ 1., 1., 1.])
    >>> np.transpose(np.nonzero(x))
    array([[0, 0],
    [1, 1],
    [2, 2]])

    A common use for ``nonzero`` is to find the indices of an array, where
    a condition is True. Given an array `a`, the condition `a` > 3 is a
    boolean array and since False is interpreted as 0, np.nonzero(a > 3)
    yields the indices of the `a` where the condition is true.

    >>> a = np.array([[1,2,3],[4,5,6],[7,8,9]])
    >>> a > 3
    array([[False, False, False],
    [ True, True, True],
    [ True, True, True]], dtype=bool)
    >>> np.nonzero(a > 3)
    (array([1, 1, 1, 2, 2, 2]), array([0, 1, 2, 0, 1, 2]))

    The ``nonzero`` method of the boolean array can also be called.

    >>> (a > 3).nonzero()
    (array([1, 1, 1, 2, 2, 2]), array([0, 1, 2, 0, 1, 2]))  #坐标(1,0)(1,1)(1,2)(2,0)(2,1)(2,2)非零

    numpy函数返回非零元素的目录。

    返回值为元组, 两个值分别为两个维度, 包含了相应维度上非零元素的目录值。   可以通过a[nonzero(a)]来获得所有非零值。

    nonzero(a)  将对矩阵a的所有非零元素, 分别安装两个维度, 一次返回其在各维度上的目录值。

    如果 a=mat([ [1,0,0],                          

                    [0,0,0],

                    [0,0,0]])                      

     则 nonzero(a) 返回值为 (array([0]), array([0]))   , 因为矩阵a只有一个非零值, 在第0行, 第0列。

    如果 a=mat([ [1,0,0],                          

                    [1,0,0],

                    [0,0,0]])                      

     则 nonzero(a) 返回值为 (array([0, 1]), array([0, 0]))   , 因为矩阵a只有两个非零值, 在第0行、第0列,和第1行、第0列。所以结果元组中,第一个行维度数据为(0,1) 元组第二个列维度都为(0,0)。

  • 相关阅读:
    Unity The Method Signature Matching Rule
    Unity The Property Matching Rule
    Unity The Type Matching Rule
    Unity The Custom Attribute Matching Rule
    Unity The Member Name Matching Rule
    Unity No Policies
    Unity The Return Type Matching Rule
    Unity The Parameter Type Matching Rule
    Unity The Namespace Matching Rule
    关于TSQL递归查询的(转)
  • 原文地址:https://www.cnblogs.com/phil-chow/p/5412275.html
Copyright © 2011-2022 走看看