0

我有各种 3d 数组,我想获得满足某些条件的数组的索引。例如,为了获得索引,我做了

import numpy as np
my_index = np.where((myP.x1)>-64.0 & (myP.x1)<-30.0 & (myP.x2)>10.0 & myP.x2<30.0)

这里, myP.x1, myP.x2, 等是 3D 数组。我想要上述条件为真的索引。我期望一个索引列表的输出,然后我将其提供给其他数组以用于不同的目的。

但是在运行这个时,我得到一个相当神秘的错误说

TypeError:输入类型不支持 ufunc 'bitwise_and',并且根据强制转换规则 ''safe'',输入无法安全地强制转换为任何支持的类型。

我不知道那是为了什么。我只想获取条件为真的索引列表....任何帮助将不胜感激。

TLDR:想要从满足多个条件的数组中使用np.where().

4

1 回答 1

0

正如@Rahul Vishwakarma 和@PeterLeeh 在评论中指出的那样,

my_index= np.where(((myP.x1)>-64.0) & ((myP.x1)<-30.0) & ((myP.x2)>10.0) & (myP.x2<30.0))

上面的语句解决了我的问题。

于 2020-08-20T09:32:40.523 回答