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

Migrando repositório TFS para GIT

Chega o momento em que decidimos migrar do TFS para GIT por 'N' motivos e benefícios que esta migração pode trazer. Caso você tenha uma repositório de longa data e queira manter o histórico de checkins, o  git-tfs auxilia nesta tarefa. Uma das minhas formas preferidas para instalar é através do chocolatey . Com o chocolatey instalado em sua máquina basta abrir o powershell em modo admin e digitar: cinst GitTfs No powershell para clonar o repositório TFS para seu repositório git você deve digitar o seguinte comando: git tfs clone http : //meutfs.com $/diretoriotfs c : /diretorio-alvo-clone --branches=all -u=CORP\Usuario -p=****** Para mais opções de comando segue link do github do projeto.

Upload de arquivos sem refresh na página

Olá. Algumas vezes temos a necessidade de enviar dados sem dar refresh na página. Mas isto torna-se mais engenhoso quando entre estes dados temos arquivos. Para solucionar este cenário temos uma facilidade com jQuery. Para enviar arquivos é necessário trabalhar com os parâmetros de ajax contentType e processData. No exemplo abaixo temos uma função genérica que servirá tanto para formulário com ou sem imagem: $(form).on('submit', function () {     var data;     var contentType = "application/x-www-form-urlencoded";     var processData = true;     if ($(this).attr('enctype') == 'multipart/form-data') {         data = new FormData($(this).get(0));//seleciona classe form-horizontal adicionada na tag form do html         contentType = false;         processData = false;     } else {       ...