我在Python中有一个numpy数组,我需要在一系列值(> = 2到< 5 = 100)之间进行分类。我收到了错误消息,但我不理解a.any() or a.all()
import numpy as np
myarray = np.array([[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]])
myarray[myarray >= 2 and myarray < 5] = 100
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
答案 0 :(得分:6)
你太近了。
>>> myarray[(myarray >= 2) & (myarray < 5)] = 100
>>> myarray
array([[ 1, 100, 100, 100, 5],
[ 1, 100, 100, 100, 5],
[ 1, 100, 100, 100, 5]])