首页 > 解决方案 > 使用布尔掩码从现有数组构建新数组

问题描述

我创建了一个布尔掩码,比如说mask,我想将它应用于现有数组,比如说old创建一个全新的数组,比如说new,它只保留非零元素。然后,该new数组应该具有相对于 更小的维度old

有人可以建议我最快和更简洁的方法,如果可能的话,不使用 numpy.append 函数?

标签: pythonarraysnumpyscipymask

解决方案


说你有:

old = np.array([2,4,3,5,6])
mask = [True, False, True, False, False]

只需这样做:

new = old[mask]
print(new)
[2 3]

我建议您阅读有关布尔或“掩码”索引数组的信息


推荐阅读