nlaby中的matlab isempty()函数?

时间:2014-11-28 08:55:13

标签: python numpy

我在matlab中有这段代码:

switch 1
    case isempty(A) 
...

其中A是2维数组。

如果2-dim数组为空(只有0个值),如何检查numpy?

3 个答案:

答案 0 :(得分:7)

要检查数组是否为空(即,它不包含任何元素),您可以使用A.size == 0

import numpy as np
In [2]: A = np.array([[1, 2], [3, 4]])

In [3]: A.size
Out[3]: 4

In [4]: B = np.array([[], []])

In [5]: B.size
Out[5]: 0

要检查它是否只包含0,您可以检查np.count_nonzero(A)

In [13]: Y = np.array([[0, 0], [0, 0]])
In [14]: np.count_nonzero(Y)
Out[14]: 0

答案 1 :(得分:6)

您可以将数组x与0进行比较,并查看所有值是否为False

np.all(x==0)

答案 2 :(得分:0)

>>> empty_array = np.zeros((3,3))
>>> empty_array
array([[ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.]])
>>> if np.all(empty_array==0): print True
... 
True
>>> empty_array[1][1]=1
>>> empty_array
array([[ 0.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  0.]])
>>> if np.all(empty_array==0): 
...    print True
... else:
...    print False
... 
False