Pular para o conteúdo principal

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_right)

Uma outra opção é utilizar operador de bitwise & ou | para fazer comparação entre os booleanos que devem esta isolados/envolvidos por parenteses

just_right = porridge[(porridge > 60) & (porridge < 80)]

Comentários

Postagens mais visitadas deste blog

Dica: Extensão Indentar código VUE Visual Studio Code

Olá Por muitas é necessário um atalho para formatar o seu código fonte no editor de texto. Para formatação de HTML, CSS, JS e afins no visual studio code você pode utilizar o: HTML Snippets Mas esta extensão acima não formata arquivos de template .vue . Para formatar este tipo de arquivos é necessário instalar alguma outra extensão. Entre as que busquei a que faz o serviço da melhor forma atualmente utilizando o atalho alt+shift+f   é o plugin ventur: Vetur Este plugin é muito bom mesmo. Facilitou bastante a formatação de fontes em templates .vue. É isso espero que ajude;)

C# :Removendo propriedades nulas ao serializar JSON

Olá Para serializar uma classe em formato JSON em c#,por muitas vezes é utilizado o pacote Newtonsoft . Em alguns momentos há a necessidade de serializar somente as propriedades que estiverem preenchidas no objeto, removendo assim as que estiverem nulas. Para isto você pode utilizar a propriedade  NullValueHandling da classe  JsonSerializerSettings . Segue exemplo: Até a próxima

Como criar componente dropdown com checkbox ASP.NET MVC

Neste post irei demonstrar a criação de um componente  dropdown com checkbox para selecionar as opções desejadas. Para começar podemos criar uma classe estática para criar o componente que será utilizado numa página razor. public static class Extensions { public static MvcHtmlString DropdownCheckbox( this HtmlHelper helper, string placeholder, IEnumerable<SelectListItem> selectList, object htmlAttributes) { string items = "" ; string rodape = "" ; if (htmlAttributes == null ) { htmlAttributes = new { }; } var attributes = new ExpandoObject() as IDictionary< string , Object>; foreach (PropertyInfo property in htmlAttributes.GetType().GetProperties()) { attributes.Add(property.Name, property.GetValue(htmlAttributes)); } string idDropdown = "dr