kateli1991

通过测试numpy数组中的每个元素是否在2个数字之间创建布尔数组



我有一个numpy数组,我想创建一个大小和维数相同的布尔数组,用来判断元素是否位于2个数字之间。例如:

a=np.array([[1,2,3],[4,5,6],[7,8,9]])

我知道如果我写信

^{pr2}$

我得到一个数组,它的前三个元素为“False”,其余元素为“True”

np.array([[False,False,False],[True,True,True],[True,True,True]])

但是我想得到一个布尔数组,条件是

a>3 and a<8

有没有一种方法可以做到这一点,而不必在for循环中逐个检查每个元素?我有2048*2048的数组,这太长了

有人报告说,这是同一个问题的另一个解决方案是使用纽比。在哪里函数,但如果条件为真,则返回元素,我的问题是返回布尔值


已被浏览了9021次
1 周,3 日 之前提问
1 个回答
fefe Tyson

您可以检查如下范围:

print (3<a)&(a<8)
评论 - 2020年7月29日 10:44

最新Python问答

推荐Python问答