que tienen una serieCómo encontrar valores en una matriz que cumplen dos condiciones usando Python
a=[1,2,3,4,5,6,7,8,9]
y quiero encontrar los índices de elemento s que cumplen dos condiciones, es decir,
a>3 and a<8
ans=[3,4,5,6]
a[ans]=[4,5,6,7]
I puede utilizar numpy.nonzero(a>3)
o numpy.nonzero(a<8)
pero no numpy.nonzero(a>3 and a<8)
que da el error:
ValueError: The truth value of an array with more than one element is
ambiguous. Use a.any() or a.all()
Cuando intento usar any
o all
obtengo el mismo error. ¿Es posible combinar dos pruebas condicionales para obtener la ans?
por qué necesita numpy, no puede hacerlo de esta manera! filtrar (lambda a: 3 shahjapan
@shahjapan - probablemente porque necesitan la mayor velocidad de una matriz numpy porque es probable que realmente tengan un conjunto de datos mucho * mucho * más grande. –