2014-10-31 83 views
0

我有一个屏蔽数组:优化调用来检索掩码数组的掩码元素的索引?

a = np.arange(7) 
a = np.ma.masked_greater(a,4) 

一则包含

masked_array(data = [0 1 2 3 4 -- --], 
      mask = [False False False False False True True], 
     fill_value = 999999) 

什么我要找的是现在检索,列出每个蒙面元素,即该指数的阵列的有效方式

res = [5, 6] 

不通过掩模像这样循环:

res = [] 
for idx, data in enumerate(np.ma.getmaskarray(a)): 
    if data: 
     res.append(idx) 

回答

1
>>> a 
masked_array(data = [0 1 2 3 4 -- --], 
      mask = [False False False False False True True], 
     fill_value = 999999) 
>>> np.where(np.ma.getmaskarray(a)) 
(array([5, 6]),)