Python 将布尔值与更小维数组进行比较的掩码数组

Python 将布尔值与更小维数组进行比较的掩码数组,python,arrays,multidimensional-array,mask,Python,Arrays,Multidimensional Array,Mask,第一次问问题,我也非常不擅长编码。我有一个2D数组形状=(1004000),并希望处理每行中大于1D数组形状=(100,)中相应值的所有值 我希望以最有效的方式进行此操作,因为它很快将成为一个具有shape=(10008000)潜在值的数组。不知道如何在布尔掩码中广播,或者我是否可以?下面是我的代码的一个例子,它显然不起作用。我可以通过使用for循环或将LX数组复制为shape=(1004000)来做我想做的事情,但我希望它比这些选项更快 dX = np.random.rand(100,4000

第一次问问题,我也非常不擅长编码。我有一个2D数组形状=(1004000),并希望处理每行中大于1D数组形状=(100,)中相应值的所有值

我希望以最有效的方式进行此操作,因为它很快将成为一个具有shape=(10008000)潜在值的数组。不知道如何在布尔掩码中广播,或者我是否可以?下面是我的代码的一个例子,它显然不起作用。我可以通过使用for循环或将LX数组复制为shape=(1004000)来做我想做的事情,但我希望它比这些选项更快

dX = np.random.rand(100,4000)
LX = np.random.rand(100)
LX2 = LX/2
dX[dX>LX2] = dX[dX>LX2]-LX[dX>LX2]

可以将二维阵列与其他二维阵列进行比较
LX
LX/2
是1D阵列。要添加维度,可以执行
LX=LX[:,无]
但是,
dX>LX2
是一个
(1004000)
形状数组。您不能使用这样的数组来屏蔽
(100,1)
形状数组。