我有一个简单的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