【发布时间】:2011-03-15 23:32:52
【问题描述】:
我有一个数组
a=[1,2,3,4,5,6,7,8,9]
我想找到满足两个条件的元素 s 的索引,即
a>3 and a<8
ans=[3,4,5,6]
a[ans]=[4,5,6,7]
我可以使用numpy.nonzero(a>3) 或numpy.nonzero(a<8)
但不是
numpy.nonzero(a>3 and a<8) 给出错误:
ValueError: The truth value of an array with more than one element is
ambiguous. Use a.any() or a.all()
当我尝试使用 any 或 all 时,我得到了同样的错误。
是否可以结合两个条件测试来获得答案?
【问题讨论】:
-
为什么你需要numpy,你不能这样!过滤器(λ a: 3
-
@shahjapan - 可能是因为他们需要提高 numpy 数组的速度,因为他们可能真的有一个大得多的数据集。