通过阈值向量进行矩阵阈值化

Matrix thresholding by a threshold vector

我有一个形状为 [N,M] 的 numpy 二维数组和一个形状为 M 的阈值一维数组。 我想为二维矩阵中的每个元素设置负无穷大值,如果索引 (X,i) 中的值(其中 X 可以是任何行,X 介于 0 和 M-1 之间)低于中的值阈值向量,在索引 i.

非循环或列表理解解决方案将不胜感激。

这是您可以使用的片段...

data=np.random.rand(5,3)
threshold=np.random.rand(3)

data[data-threshold<0]=-np.Inf

我是用随机数据测试的,如果你的数据已经存在就不需要前两行了。