我有一個簡單的3D陣列a1
,其掩蔽的模擬a2
工作:`numpy.mean`:不與屏蔽數組
import numpy
a1 = numpy.array([[[ 0.00, 0.00, 0.00],
[ 0.88, 0.80, 0.78],
[ 0.75, 0.78, 0.77]],
[[ 0.00, 0.00, 0.00],
[ 3.29, 3.29, 3.30],
[ 3.27, 3.27, 3.26]],
[[ 0.00, 0.00, 0.00],
[ 0.41, 0.42, 0.40],
[ 0.42, 0.43, 0.41]]])
a2 = numpy.ma.masked_equal(a1, 0.)
我要執行的此陣列沿着多個軸線在一個時間的平均(這是在一個numpy.mean
奇特,無證使用axis
參數的,例如參見here的示例):
numpy.mean(a1, axis=(0, 1))
這是工作正常與a1
,但我得到了下面的錯誤與屏蔽數組a2
:
TypeError: tuple indices must be integers, not tuple
我也得到了同樣的錯誤與蒙面版本numpy.ma.mean(a2, axis=(0, 1))
,或者如果我通過a2[a2.mask]=0
揭露的陣列。
我在numpy.mean
中爲axis
參數使用元組,因爲它實際上不是硬編碼(此命令應用於具有不同維數的陣列,根據該元組進行調整)。
numpy
版本1.9.1
和1.9.2
遇到的問題。
你能提供一個可剪切和粘貼的例子嗎? – atomh33ls
根據[docs](http://docs.scipy.org/doc/numpy/reference/generated/numpy.mean.html),axis參數預計爲int。傳遞一個元組而不是一個int是什麼? – ypx
你不應該使用['ma'版本的'mean'](http://docs.scipy.org/doc/numpy/reference/generated/numpy.ma.mean.html)來獲得一個掩碼數組參數? – user2357112