Pular para o conteúdo

Como Usar o np.max para Encontrar o Valor Máximo de uma Lista em Python

[

NumPy’s max() e maximum(): Encontre Valores Extremos em Arrays

by Charles de Villiers

A biblioteca NumPy oferece programação numérica expressiva e eficiente em Python. Encontrar valores extremos é uma necessidade muito comum na análise de dados. As funções max() e maximum() do NumPy são dois exemplos de como o NumPy permite combinar o conforto de codificação oferecido pelo Python com a eficiência de tempo de execução que se espera do C.

Neste tutorial, você aprenderá como:

  • Utilizar a função max() do NumPy
  • Utilizar a função maximum() do NumPy e entender por que ela é diferente do max()
  • Resolver problemas práticos com essas funções
  • Lidar com valores faltantes nos seus dados
  • Aplicar os mesmos conceitos para encontrar valores mínimos

Este tutorial inclui uma introdução muito breve ao NumPy, portanto, mesmo que você nunca tenha usado o NumPy antes, você poderá começar imediatamente. Com o conhecimento fornecido aqui, você estará pronto para continuar explorando a grande quantidade de funcionalidades encontradas na biblioteca NumPy.

NumPy: Numerical Python

O NumPy (Numerical Python) é uma biblioteca de código aberto em Python que possibilita uma ampla variedade de aplicações nos campos de ciência, estatística e análise de dados, por meio do suporte a computações rápidas e paralelas em arrays multidimensionais de números. Muitos dos pacotes numéricos mais populares utilizam o NumPy como sua biblioteca base.

Introdução ao NumPy

A biblioteca NumPy é construída em torno de uma classe chamada np.ndarray e um conjunto de métodos e funções que aproveitam a sintaxe do Python para definir e manipular arrays de qualquer forma ou tamanho.

O código principal do NumPy para manipulação de arrays é escrito em C. Você pode utilizar funções e métodos diretamente em um ndarray, enquanto o código base do NumPy em C percorre eficientemente todos os elementos do array em segundo plano. A sintaxe de alto nível do NumPy permite que você possa expressar programas complexos de forma simples e elegante, além de executá-los em alta velocidade.

Você pode utilizar uma lista Python regular para representar um array. No entanto, os arrays do NumPy são muito mais eficientes do que as listas e são suportados por uma grande biblioteca de métodos e funções. Esses incluem operações matemáticas e lógicas, ordenação, transformadas de Fourier, álgebra linear, remodelagem de arrays e muito mais.

Atualmente, o NumPy é amplamente utilizado em campos tão diversos como astronomia, computação quântica, bioinformática e todas as áreas de engenharia.

O NumPy é usado como base para diversas outras bibliotecas numéricas, pois oferece uma estrutura eficiente para a manipulação de dados multidimensionais.

NumPy’s max(): O Elemento Máximo em um Array

A função max() do NumPy é utilizada para encontrar o elemento máximo em um array. Veja um exemplo de uso:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
max_value = np.max(arr)
print(max_value)

Neste exemplo, temos um array arr contendo os números de 1 a 5. Utilizamos a função np.max() para encontrar o valor máximo no array. O resultado é 5.

Lidando com Valores Faltantes em np.max()

É comum que os dados contenham valores faltantes, o que pode afetar o cálculo do valor máximo. O NumPy lida com isso de forma intuitiva, retornando NaN (Not a Number) quando o array contém pelo menos um valor faltante. Veja o exemplo abaixo:

import numpy as np
arr = np.array([1, 2, np.nan, 4, 5])
max_value = np.max(arr)
print(max_value)

Neste exemplo, temos um array arr com um valor faltante np.nan. Ao utilizar a função np.max(), o resultado será NaN.

Explorando Funções Máximas Relacionadas

Além da função max(), o NumPy também oferece outras funções para encontrar elementos máximos em diferentes contextos. Algumas delas incluem np.amax(), np.nanmax() e np.fmax(). Veja exemplos de uso abaixo:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
# Encontrando o valor máximo no array
max_value = np.max(arr)
print(max_value)
# Encontrando o valor máximo ignorando valores faltantes
max_value = np.nanmax(arr)
print(max_value)
# Encontrando o valor máximo absoluto no array
max_value = np.amax(arr)
print(max_value)
# Encontrando o valor máximo entre dois arrays
arr2 = np.array([6, 7, 8, 9, 10])
max_value = np.fmax(arr, arr2)
print(max_value)

Neste exemplo, utilizamos as funções np.amax(), np.nanmax() e np.fmax() para encontrar valores máximos em diferentes situações.

NumPy’s maximum(): Elementos Máximos entre Arrays

A função np.maximum() do NumPy é utilizada para encontrar os elementos máximos entre dois arrays. Veja um exemplo de uso:

import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([6, 7, 8, 9, 10])
max_values = np.maximum(arr1, arr2)
print(max_values)

Neste exemplo, temos dois arrays arr1 e arr2. Utilizamos a função np.maximum() para encontrar os elementos máximos entre os dois arrays. O resultado será um novo array contendo os valores [6, 7, 8, 9, 10].

Lidando com Valores Faltantes em np.maximum()

Assim como na função np.max(), o NumPy também lida de forma intuitiva com valores faltantes na função np.maximum(). Se um dos arrays tiver um valor faltante em uma determinada posição, o valor máximo será considerado como o valor do outro array nessa mesma posição. Veja o exemplo abaixo:

import numpy as np
arr1 = np.array([1, 2, np.nan, 4, 5])
arr2 = np.array([6, 7, 8, 9, 10])
max_values = np.maximum(arr1, arr2)
print(max_values)

Neste exemplo, temos um valor faltante np.nan no array arr1. Ao utilizar a função np.maximum(), o valor máximo será considerado como o valor do array arr2 para essa posição específica. O resultado será [6, 7, 8, 9, 10].

Uso Avançado

Além dos conceitos básicos de uso de np.max() e np.maximum(), o NumPy oferece recursos avançados que podem ser úteis em análises de dados mais complexas. Alguns desses recursos incluem reutilização de memória, filtragem de arrays e comparação de arrays de formas diferentes usando broadcasting. Veja abaixo alguns tópicos avançados:

  • Reutilização de Memória
  • Filtragem de Arrays
  • Comparação de Arrays com Formas Diferentes Usando Broadcasting

Conclusão

Neste tutorial, você aprendeu a utilizar as funções max() e maximum() do NumPy para encontrar valores extremos em arrays. Também foi apresentado como lidar com valores faltantes nos dados e como aplicar os mesmos conceitos para encontrar valores mínimos. Além disso, foram abordados recursos avançados que podem ser úteis em análises de dados mais complexas.

O NumPy é uma poderosa biblioteca para análise e manipulação de dados numéricos em Python. Com as funcionalidades oferecidas pelo NumPy, você poderá realizar cálculos eficientes e expressivos, aproveitando o melhor dos dois mundos: a facilidade de codificação do Python e a eficiência de tempo de execução do C.

Para continuar aprendendo sobre o NumPy, você pode explorar os diversos recursos disponíveis na documentação oficial do NumPy em https://numpy.org.