我有简单的数组,numpy.ndarrays
而其他时候相同的变量可能是一个掩码数组。我想找出最有效的方法来检查数组中是否有数据并且所有数据都没有被屏蔽
我有以下说明:
data0 = np.ma.array([3,3,3,3,3], mask=[True, True, False, True, True])
data1 = np.ma.array([3,3,3,3,3], mask=[True, True, True, True, True])
data2 = np.array([3,3,3,3,3])
for dataNum, data in enumerate([data0, data1, data2]):
if (isinstance(data, np.ma.masked_array) and not data.mask.all()) or (isinstance(data,np.ndarray)):
print('if statement passed data{}'.format(dataNum))
但这允许所有 3 个通过。我假设因为 amasked_array
被认为是ndarray
if statement passed data0
if statement passed data1
if statement passed data2
我想让 data0 和 data2 通过,这样我就可以对数据进行操作。理想情况下它也很简单:)