使用布尔掩码从现有阵列构建新阵列

时间:2018-12-04 11:54:52

标签: python arrays numpy scipy mask

我创建了一个布尔掩码,例如mask,我想将其应用于现有的数组,例如old,以创建一个全新的变量,例如new,该掩码仅保留非零元素。这样,new数组应相对于old具有较小的尺寸。

有人可以建议我以最快,更简洁的方式,而不使用numpy.append函数吗?

2 个答案:

答案 0 :(得分:1)

说你有

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

只需:

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

我建议您阅读有关Boolean or “mask” index arrays

的信息

答案 1 :(得分:0)

只需使用逻辑索引

x = x[x!=0]