mars.tensor.count_nonzero

mars.tensor.count_nonzero(a, axis=None, combine_size=None)[源代码]

Counts the number of non-zero values in the tensor a.

The word “non-zero” is in reference to the Python 2.x built-in method __nonzero__() (renamed __bool__() in Python 3.x) of Python objects that tests an object’s “truthfulness”. For example, any number is considered truthful if it is nonzero, whereas any string is considered truthful if it is not the empty string. Thus, this function (recursively) counts how many elements in a (and in sub-tensors thereof) have their __nonzero__() or __bool__() method evaluated to True.

参数
  • a (array_like) – The tensor for which to count non-zeros.

  • axis (int or tuple, optional) – Axis or tuple of axes along which to count non-zeros. Default is None, meaning that non-zeros will be counted along a flattened version of a.

  • combine_size (int, optional) – The number of chunks to combine.

返回

count – Number of non-zero values in the array along a given axis. Otherwise, the total number of non-zero values in the tensor is returned.

返回类型

int or tensor of int

参见

nonzero

Return the coordinates of all the non-zero values.

实际案例

>>> import mars.tensor as mt
>>> mt.count_nonzero(mt.eye(4)).execute()
4
>>> mt.count_nonzero([[0,1,7,0,0],[3,0,0,2,19]]).execute()
5
>>> mt.count_nonzero([[0,1,7,0,0],[3,0,0,2,19]], axis=0).execute()
array([1, 1, 1, 1, 1])
>>> mt.count_nonzero([[0,1,7,0,0],[3,0,0,2,19]], axis=1).execute()
array([2, 3])