简体   繁体   English

如何使用Python获取布尔值或两个numpy掩码

[英]How to get boolean or of two numpy masks with Python

Given two numpy array masks, created with the 3rd and 4th columns of data of 7 columns total: 给定两个numpy数组掩码,分别使用第7列的第3列和第4列数据创建:

exp_mask = np.repeat(data[:,2]>7., data.shape[1])
loggf_mask = np.repeat(data[:,3]<-7., data.shape[1])

How can I mask data which are masked by either exp_mask or loggf_mask ? 如何屏蔽被exp_maskloggf_mask屏蔽的数据?

The logic of what I am trying to describe is: 我要描述的逻辑是:

mask = exp_mask or loggf_mask

我相信您正在寻找按位或,即|。

您可以使用np.any()评估布尔值或掩码:

mask = np.any([exp_mask,loggf_mask],axis=0)

You can use either bitwise_or , which also has the | 您可以使用bitwise_or ,也可以使用| shorthand, or logical_or . 简写形式,或logical_or Both will work since your array will be of type bool : 两者都可以使用,因为您的数组将为bool类型:

mask = exp_mask | loggf_mask

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM