Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 遮罩在两个2D阵列的间隔之外?_Python_Numpy_Mask - Fatal编程技术网

Python 遮罩在两个2D阵列的间隔之外?

Python 遮罩在两个2D阵列的间隔之外?,python,numpy,mask,Python,Numpy,Mask,我有一个3D阵列,即param: param.shape = (20, 50, 50) 我想在一个间隔之外屏蔽它的第一个轴,即两个2D数组,bot和top: bot.shape = (50, 50) top.shape = (50, 50) 我尝试的是: bot_n = np.broadcast_to(bot[0, :, :], param.shape) top_n = np.broadcast_to(top[0, :, :], param.shape) output = np.ma.ma

我有一个3D阵列,即
param

param.shape = (20, 50, 50)
我想在一个间隔之外屏蔽它的第一个轴,即两个2D数组,
bot
top

bot.shape = (50, 50)
top.shape = (50, 50)
我尝试的是:

bot_n = np.broadcast_to(bot[0, :, :], param.shape)
top_n = np.broadcast_to(top[0, :, :], param.shape)
output =  np.ma.masked_outside(param, bot_n, top_n)
但我得到了以下错误:

如果v2 ValueError:包含多个元素的数组的真值不明确。使用a.any()或a.all()


事实上,我想提取
param
的值,该值介于
bot
top
值之间。

您可以自己构造掩码:

output = np.ma.array(param, (param < bot_n) & (param > top_n))
output=np.ma.array(param,(paramtop_n))

您可以自己构造遮罩:

output = np.ma.array(param, (param < bot_n) & (param > top_n))
output=np.ma.array(param,(paramtop_n))

外部屏蔽的代码非常简单:

if v2 < v1:
    (v1, v2) = (v2, v1)
xf = filled(x)
condition = (xf < v1) | (xf > v2)
return masked_where(condition, x, copy=copy)
如果v2v2)
返回掩码_,其中(条件,x,copy=copy)

condition1
表达式应该适用于数组
bot\u n
,但是
如果v2则
屏蔽外部的代码非常简单:

if v2 < v1:
    (v1, v2) = (v2, v1)
xf = filled(x)
condition = (xf < v1) | (xf > v2)
return masked_where(condition, x, copy=copy)
如果v2v2)
返回掩码_,其中(条件,x,copy=copy)
condition1
表达式应该适用于数组
bot\n
,但是如果v2