【发布时间】:2018-02-25 09:12:45
【问题描述】:
我有一个 numpy 数组:(例如:)
>>> pixels
array([[233, 233, 233],
[245, 245, 245],
[251, 251, 251],
[248, 248, 248],
[248, 248, 248],
[248, 248, 248],
[248, 248, 248],
[248, 248, 248],
[248, 248, 248],
[248, 248, 248]], dtype=uint8)
对于大于 230 且小于 240 的值(例如),我该怎么做才能获得布尔数组? 当我写
230<pixels<240
我得到这个按摩:
Traceback (most recent call last):
File "<pyshell#78>", line 1, in <module>
100<pixels<300
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
如果我写它也不起作用
230<pixels and 240>pixels
非常感谢!
【问题讨论】:
-
使用括号和
&运算符。 -
按照@Divakar 的建议执行
(pixels > 230) & (pixels < 240)
标签: python arrays numpy comparison valueerror