尝试查找具有2个以上逻辑条件的python numpy索引
为什么尝试查找具有2个以上逻辑条件的python numpy索引,python,numpy,logic,where,logical-operators,Python,Numpy,Logic,Where,Logical Operators,为什么 w = data[np.where(np.logical_and(data['RA']>=(ra_in-0.1), data['RA']<=(ra_in+0.1)))] w=data[np.其中(np.logical_和(data['RA']>=(RA_in-0.1),data['RA']=(RA_in-0.1),data['RA']=(dec_in-0.1),data['dec']表示: 如您所见,除了关于如何在两个类似数组的对象x1和x2上执行logical\u和的附加
w = data[np.where(np.logical_and(data['RA']>=(ra_in-0.1), data['RA']<=(ra_in+0.1)))]
w=data[np.其中(np.logical_和(data['RA']>=(RA_in-0.1),data['RA']=(RA_in-0.1),data['RA']=(dec_in-0.1),data['dec']表示:
如您所见,除了关于如何在两个类似数组的对象x1
和x2
上执行logical\u和
的附加参数外,没有其他类似数组的对象。因此简而言之logical\u和
只在两个数组上执行逻辑和
您可以使用logica\u和s的级联来执行请求的操作:
data[np.where(
np.logical_and(
np.logical_and(data['RA']>=(ra_in-0.1), data['RA']<=(ra_in+0.1),
np.logical_and(data['DEC']>=(dec_in-0.1), data['DEC']<=(dec_in+0.1)
))]
请注意,由于&
绑定的优先级更高,因此需要添加方括号。但是,请注意,我们仍然有一些级联,因为:
(data['RA']>=(ra_in-0.1)) & (data['RA']<=(ra_in+0.1)) & (data['DEC']>=(dec_in-0.1)) & (data['DEC']<=(dec_in+0.1))
(data['RA']>=(RA_-in-0.1))&(data['RA']=(dec_-in-0.1))&(data['dec']=(RA_-in-0.1))&(data['RA']=(dec_-in-0.1))&(data['dec']表示:
如您所见,除了关于如何在两个类似数组的对象x1
和x2
上执行logical\u和
的附加参数外,没有其他类似数组的对象。因此简而言之logical\u和
只在两个数组上执行逻辑和
您可以使用logica\u和s的级联来执行请求的操作:
data[np.where(
np.logical_and(
np.logical_and(data['RA']>=(ra_in-0.1), data['RA']<=(ra_in+0.1),
np.logical_and(data['DEC']>=(dec_in-0.1), data['DEC']<=(dec_in+0.1)
))]
请注意,由于&
绑定的优先级更高,因此需要添加方括号。但是,请注意,我们仍然有一些级联,因为:
(data['RA']>=(ra_in-0.1)) & (data['RA']<=(ra_in+0.1)) & (data['DEC']>=(dec_in-0.1)) & (data['DEC']<=(dec_in+0.1))
(数据['RA']>=(RA_in-0.1))&(数据['RA']=(dec_in-0.1))&(数据['dec']=(RA_in-0.1))&(数据['RA']=(dec_in-0.1))&(数据['dec']因为logical_和
采用了两个这样的向量?所有剩余的参数都是关于如何处理和的规范。因为logical_和
采用了两个这样的向量?所有剩余的参数都是关于如何处理和的规范。Hmmm,(a)我可以,但是(b)那段代码抛出了一个语法错误,你需要关闭,但是,这真的是做numpy逻辑的最好方法吗?逻辑和的级联???@npross:不,我根本不会使用逻辑和
,除非你需要一些额外的选项。你可以使用&
。不,我得到::---------------------------------------------------------------------------在()1 data[np.where(--->2 data['RA']>=(RA_in-0.1)和data['RA']=(dec_in-0.1)和data['dec']@nposs:yes,但您应该添加括号。&
运算符的优先级高于Hmmm,(a)我可以,但(b)那段代码抛出了一个语法错误,你需要关闭,但是,这真的是做numpy逻辑的最好方法吗?逻辑和的级联???@npross:不,我根本不会使用逻辑和
,除非你需要一些额外的选项。你可以使用&
。不,我得到::---------------------------------------------------------------------------()1 data[np.其中(--->2 data['RA']>=(RA_in-0.1)和data['RA']=(dec_in-0.1)和data['dec']@nposs:是的,但您应该添加括号。&
运算符的优先级高于
(data['RA']>=(ra_in-0.1)) & (data['RA']<=(ra_in+0.1)) & (data['DEC']>=(dec_in-0.1)) & (data['DEC']<=(dec_in+0.1))
(((data['RA']>=(ra_in-0.1)) & (data['RA']<=(ra_in+0.1))) & (data['DEC']>=(dec_in-0.1))) & (data['DEC']<=(dec_in+0.1))