Python 如何根据模糊条件从Numpy数组中选择值?

Python 如何根据模糊条件从Numpy数组中选择值?,python,arrays,numpy,Python,Arrays,Numpy,假设我有以下数组,我只想保留第一列值为39(±1),第二列值为-1(±1)的行: 我知道如果我有更简单的条件,我可以这样做: np.其中((下一个点[u arr[:,0]>39)和(下一个点[u arr[:,1]

假设我有以下数组,我只想保留第一列值为39(±1),第二列值为-1(±1)的行:

我知道如果我有更简单的条件,我可以这样做:

np.其中((下一个点[u arr[:,0]>39)和(下一个点[u arr[:,1]<1))
我还知道我可以使用
math.isclose(39,39.2,abs_tol=1)
,但我不知道如何有效地将两者结合起来


我的方法是用布尔值再创建两列,表示条件是否为真,然后使用
np.where()
在每列中查找
true
,但这似乎不明智。

您可以用

输出:


除了选择答案之外,你还可以考虑投票。这表示赞赏。
[[39.26783752, -0.84259111],
[24.44051933,  2.33262944],
[28.28138924,  6.79832602],
[37.54968262,  7.43038321]]
a = np.array(
    [[39.26783752, -0.84259111],
     [24.44051933,  2.33262944],
     [28.28138924,  6.79832602],
     [37.54968262,  7.43038321]])

a[np.isclose(a, [39, -1], atol=[1.,1.]).all(1)]
array([[39.26783752, -0.84259111]])