Pular para o conteúdo principal

Postagens

Mostrando postagens de junho, 2019

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Ao definir um filtro em um array no python da forma como vemos na penúltima linha obtemos o erro do titulo deste post. import numpy as np porridge = np . array ([ 79 , 65 , 50 , 63 , 56 , 90 , 85 , 98 , 79 , 51 ]) cold = porridge [ porridge < 60 ] print ( cold ) hot = porridge [ porridge > 80 ] print ( hot ) just_right = porridge [ porridge > 60 and porridge < 80 ] print ( just_right ) O problema esta na tentativa de utilizar o and para concatenar condição no filtro do array numpy. Para solucionar você deve utilizar algum operador diferente que o próprio numpy fornece como o logical_and. import numpy as np porridge = np . array ([ 79 , 65 , 50 , 63 , 56 , 90 , 85 , 98 , 79 , 51 ]) cold = porridge [ porridge < 60 ] print ( cold ) hot = porridge [ porridge > 80 ] print ( hot ) just_right = porridge [ np . logical_and ( porridge > 60 , porridge < 80 )] print ( just_rig