Neste artigo, quero falar sobre várias funções do Numpy que eu uso para analisar dados o tempo todo. Esta não é de forma alguma uma lista exaustiva, mas acho que as ferramentas que serão discutidas serão úteis para todos, sem exceção.
Diante de uma nova tarefa, pensei várias vezes: "Isso é algo bastante específico, dificilmente existe uma função embutida para isso". No caso de Numpy, mais frequentemente eu estava errado do que certo.
Mas vamos direto ao ponto. A única linha de importação que precisamos:
onde ()
A função where () retornará elementos que satisfazem uma determinada condição. Vejamos um exemplo.
Crie uma lista de classificações ( arbitrárias ):
Agora você pode usar where () para encontrar estimativas maiores, digamos, que 3:
Observe que os índices dos itens pesquisados são retornados.
Mas isso, é claro, não é tudo, a função pode aceitar dois parâmetros opcionais:
- o primeiro substituirá os valores que satisfazem a condição
- o segundo fará isso para valores que não satisfazem a condição
Como o artigo se destina a ser breve, vamos nos concentrar nisso.
argmin (), argmax (), argsort ()
A função argmin () retorna o índice do valor mínimo. Para o mesmo conjunto de classificações que usamos acima, o resultado será:
argmax () , como você provavelmente adivinhou, faz exatamente o oposto - retorna o índice do elemento máximo:
O último do trinity argsort () retornará uma lista de índices dos elementos classificados da matriz. Não se esqueça: você encontrará um grande número de situações quando precisar.
intersect1d ()
A função intersect1d () retornará a interseção de duas matrizes, ou seja, elementos exclusivos encontrados em ambos. Diferentemente dos exemplos anteriores, ele retornará não os índices, mas os próprios valores.
Crie duas matrizes:
Encontre os elementos comuns:
allclose ()
Por fim, considere a função allclose () . Retornará True se os elementos das duas matrizes forem iguais dentro da tolerância. Novamente, você não tem idéia de quantas vezes isso é necessário ao trabalhar com dados.
Declararemos duas matrizes, cuja diferença entre os elementos correspondentes não excede 0,2:
A função allclose () com uma tolerância de 0.1 deve retornar False :
Aumente a tolerância para 0,2 para obter a igualdade aproximada de matrizes:
Palavras de despedida
Não conte o número de vezes que eu fui ( e sou ) o culpado pela invenção da roda. Muitas vezes pensamos que nosso problema é único e ninguém imaginou criar uma ferramenta para resolvê-lo. Às vezes isso é verdade, mas muitas vezes você se sente como o último idiota, encontrando uma função padrão conveniente em vez da que você já passou muito tempo criando.
É melhor gastar um pouco desse tempo explorando as possibilidades das bibliotecas populares, porque foi graças a elas que as bibliotecas se tornaram populares.
Obrigado pela leitura.