我在matlab中有这段代码:
switch 1
case isempty(A)
...
其中A是2维数组。
如果2-dim数组为空(只有0个值),如何检查numpy?
答案 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