두 개의 다른 인덱스 인 i와 j가있는 일련의지도가 있습니다. map_series [i] [j]와 같은 색인을 생성하십시오.지도의 배열에 헬름 마스크를 적용합니다.
편집 1/21 : 최소한의 작업 예를 들어 내가 각각 같은 마스크를 적용 할 map_series=np.array([np.array([np.arange(12) + 0.1*(i+1) + 0.01*(j+1) for j in range(3)]) for i in range(5)])
같은 것; map_series
이 1 차원이면이 각각이 작동합니다.
:
전체 배열에 마스크를 적용 (A) :
map_series_ma = hp.ma(map_series)
map_series_ma.mask = predefined_mask
(B1) 배열의 각 요소에 마스크 적용 :
map_series_ma = np.zeros_like(map_series)
for i in range(len(map_series)):
for j in range(len(map_series[0])):
temp = hp.ma(map_series[i][j])
temp.mask = predefined_mask
map_series_ma[i][j] = temp
(B2) 상기 어레이의 각 요소에 마스크를 적용 :
map_series_ma = np.zeros_like(map_series)
for i in range(len(map_series)):
for j in range(len(map_series[0])):
map_series_ma[i][j] = hp.ma(map_series[i][j])
map_series_ma[i][j].mask = predefined_mask
(C) Pythonically 목록을 열거 :
map_series_ma = np.array([hp.ma(map_series[i][j]) for j in range(j_max) for i in range(i_max)])
map_series_ma.mask = predetermined_mask
이 모든 그러나, 내 원하는 출력을 제공하지 못한다.
(A) 또는 (C)를 시도하면 첫 번째 단계 후 오류가 발생하여 TypeError : 잘못된 픽셀 수를 표시합니다.
시도 할 때 (B1) 오류가 발생하지 않지만 maps_series_ma의 요소에도 마스크가 없습니다. 실제로, 그들은 심지어 hp.ma 객체로 보이지 않습니다. 이상하게도 충분히 : 그래도 내가 temp를 반환하면 은에 적절한 마스크를 가지고 있습니다. 'numpy.ndarray'개체가 어떤 속성 '마스크'가 없습니다
나는 야 (내 구문보고 후, 나는 완전히 이해!) : 나는 오류 AttributeError를 얻을 수 (B2) 시도시
약간은 이것에 대해 어떻게 가는지 혼란스러워했습니다. (A)와 (B1)이 나에게 허용되는 것 모두 ...
이 어떤 도움이 많이 감사합니다, 덕분에 샘
당신은 장난감을 제공 할 수 있습니다 예를 들자면? –