2
這是我的拳頭帖子overflow,所以請耐心等待。 當然,我試圖在網上找到答案,但沒有成功。numpy中的蒙面陣列操作
問題:
In [1]: import numpy
In [2]: import numpy.ma as ma
In [4]: a = ma.array([[[1,2],[3,4]],[[1,2],[3,4]]], mask=[[[True,False],[False,False]],[[False,False],[False,True]]])
In [5]: a
Out[5]:
masked_array(data =
[[[-- 2]
[3 4]]
[[1 2]
[3 --]]],
mask =
[[[ True False]
[False False]]
[[False False]
[False True]]],
fill_value = 999999)
In [6]: ma.mean(a, axis=0)
Out[6]:
masked_array(data =
[[1.0 2.0]
[3.0 4.0]],
mask =
[[False False]
[False False]],
fill_value = 1e+20)
但我希望平均函數返回蒙面的輸出,如;
In [7]: (a[0]+a[1])/2
Out[7]:
masked_array(data =
[[-- 2]
[3 --]],
mask =
[[ True False]
[False True]],
fill_value = 999999)
我在這裏做錯了什麼?
感謝@ behzad.nouri 我喜歡'.mask.any()'方法,因爲它可以在任何系列的數學運算後應用。 – Achim