从条件python numpy中删除数组中的元素

时间:2017-10-28 01:04:39

标签: python arrays numpy remove-if

我有3个阵列a和b,大小相同

a= [1,20,0,3,9,9,9,55]
b= [1,5,6,9,9,9,9,55]

我需要从a中删除元素0并删除数组b中相同索引中的元素,如下所示:

    a= [1,20,3,9,9,9,55]
    b= [1,5,9,9,9,9,55]



import numpy as np
import math
a = np.array([1, 0,3])
b = np.array([5, 6,9])


c= np.vstack((a,b)).T
c= c[(c[:,0]<>0)]
k= c[:,0]
f= c[:,1]
r= math.sqrt(np.mean(np.power(((k - f) / k),2)))
r

我的代码正在运行,但我不喜欢它你还有其他命题吗?

1 个答案:

答案 0 :(得分:1)

如果你有a,b,c为numpy数组

valid_idx = (a != 0)
b = b[valid_idx]
c = c[valid_idx]