2014-07-25 7 views
2

마스크 배열을 사용하고 있으며 다른 배열/열의 최대 값을 계산하려고합니다. 배열 전체가 가리워지면 문제가 생깁니다.Numpy : 가면 배열 쌓기 및 최소/최대 계산

예 :

import numpy as np 

x = np.ma.array(np.array([1,2,3,4,100]),mask=[True,True,True, True, True]) 
y = 5 

print(np.max(np.hstack((x, y)))) 
print np.max((np.max(y), np.max(x))) 
print(np.max((np.hstack((np.max(x), 5))))) 

결과 : 결과는 5해야하기 때문에

100 
nan 
-- 

나는 왜 마스크 배열의 마스크를 무시 hstack은()이다, 결과는 홀수 찾을? 마스크 배열로

답변

3

, 당신은 마스크 루틴을 사용할 필요가, 그 numpy.ma.는 메소드 이름 앞에 와야 수 있습니다 :

>>> np.ma.hstack((x, y)) 
masked_array(data = [-- -- -- -- -- 5], 
      mask = [ True True True True True False], 
     fill_value = 999999) 

>>> np.ma.max(np.ma.hstack((x, y))) 
5 
+0

들으은 완벽하게 작동합니다! 나는 np.ma.max 방법을 시도했지만 np.ma.hstack과 함께 사용하지는 않았다. – jackson