python-3.x 有没有一个numpy函数可以在给定条件下删除两个数组中的元素?

hgqdbh6s  于 2023-04-08  发布在  Python
关注(0)|答案(1)|浏览(111)

我有两个数组:

a = np.array([0.0, 3.0, 5.0, 0.0, 10.0])
b = np.array([0.0, 0.0, 1.0, 4.0, 1.0 ])

我想从两个列表中删除等于0.0的元素,以及在另一个列表中与删除的0.0元素相同位置的非零元素。确切地说,我期望的是:

a = np.array([5.0, 10.0])
b = np.array([1.0, 1.0 ])

谢谢!

3vpjnl9f

3vpjnl9f1#

尝试:

a = np.array([0.0, 3.0, 5.0, 0.0, 10.0])
b = np.array([0.0, 0.0, 1.0, 4.0, 1.0 ])

mask = ~((a == 0) | (b == 0))

a = a[mask]
b = b[mask]

print(a)
print(b)

图纸:

[ 5. 10.]
[1. 1.]

相关问题