numpy.where中的多个条件
我有一个numpy数组a,我想做的是
indices = np.where((a < 4) or (a > 12))
这样做是不行的。它只会返回“一个包含多个元素的数组的真值是模糊的。请使用a.any()或a.all()”。但是这个表达式并不模糊,而any
和all
也不能实现我想要的功能。(any
和all
也不能处理复合表达式。但if
可以。真让人困惑……)
1 个回答
12
你想要一个逻辑数组(也就是布尔数组)作为where
的参数。
你可以用x | y
或者np.logical_or(x,y)
来实现,其中x
和y
分别是a < 4
和a > 12
。