5 Funções de Arredondamento de Valores com NumPy em Python
5 Funções de Arredondamento de Valores com NumPy
O arredondamento preciso de valores numéricos desempenha um papel muito importante em diversas aplicações científicas e de engenharia. No contexto da programação em Python, a biblioteca NumPy se destaca como uma ferramenta poderosa para manipulação eficiente de arrays e cálculos numéricos em geral.
Neste artigo, exploraremos algumas funções de arredondamento numérico disponíveis no NumPy, mostrando alguns exemplos de como empregar essas funções para realizar arredondamentos diversos, incluindo arredondamento de valores de ponto flutuante e para números inteiros.
Ao entender como usar essas funções, será possível otimizar nossos códigos e garantir resultados numericamente estáveis em uma variedade de cenários.
Vamos às funções de arredondamento de valores com NumPy, para Python.
Importar o NumPy
O primeiro passo para usar as funções que serão abordadas é importar a biblioteca NumPy no script que usará as funções de arredondamento (o módulo numpy deve estar instalado previamente; caso não esteja, realize a instalação do NumPy seguindo estas instruções):
import numpy as np
Após importar a biblioteca, vejamos as funções mais importantes para arredondamento de valores numéricos.
1. Função numpy.round
Ou seu alias numpy.around(): Arredonda o valor até uma precisão desejada
Sintaxe
numpy.round(valor,[num_casas_decimais])
Documentação: https://numpy.org/doc/stable/reference/generated/numpy.round.html
Exemplo de uso
# Criar um array de valores a serem arredondados: valores = np.array([5.0, 6.98, 0.9863, 555, 10.099]) # Podemos usar também uma simples lista (descomentar para testar): # valores = [5.0, 6.98, 0.9863, 555, 10.099] print('Array original:') print(valores) print('\nValores arredondados:') print(np.round(valores, decimals = 2)) print(np.round(valores, decimals = 3)) print(np.around(valores)) # valores são exibidos no formato float64 print(np.around(valores).astype(int)) # converter valores para int antes da exibição (não mostra o ponto)
Resultado:
Array original: [ 5. 6.98 0.9863 555. 10.099 ] Valores arredondados: [ 5. 6.98 0.99 555. 10.1 ] [ 5. 6.98 0.986 555. 10.099] [ 5. 7. 1. 555. 10.] [ 5 7 1 555 10]
2. Função numpy.floor
Arredonda para o maior inteiro menor que o valor de entrada (“tipo” arredonda para baixo).
Retorna o menor inteiro i, tal que i <= valor
Documentação: https://numpy.org/doc/stable/reference/generated/numpy.floor.html
Exemplo
valores = np.array([6.3, 0.786, 55, 10.999, -0.63]) print('Array original:') print(valores) print('\nValores arredondados:') print(np.floor(valores))
Resultado:
Array original: [ 6.3 0.786 55. 10.999 -0.63 ] Valores arredondados: [ 6. 0. 55. 10. -1.]
3. Função numpy.ceil
Arredonda para o inteiro imediatamente maior que valor de entrada (“tipo” arredonda para cima). Essa função retorna o menor número inteiro i, tal que i >= valor
Documentação: https://numpy.org/doc/stable/reference/generated/numpy.ceil.html
Exemplo
valores = np.array([6.3, 0.786, 55, 10.999, -0.63]) # mesmo array usado em np.floor print('Array original:') print(valores) print('\nValores arredondados:') print(np.ceil(valores))
Resultado:
Array original: [ 6.3 0.786 55. 10.999 -0.63 ] Valores arredondados: [ 7. 1. 55. 11. -0.]
4. Função numpy.trunc
Truncar um valor numérico. Retorna o valor truncado da entrada, elemento a elemento.
O valor truncado do escalar x é o inteiro mais próximo i que está mais próximo de zero do que x. Resumindo, a parte fracionária do valor atribuido é descartada.
O que é truncar?
O verbo “truncar” se refere ao ato de cortar ou remover a parte fracionária de um número, mantendo apenas a parte inteira. A operação de truncamento geralmente é realizada em números de ponto flutuante, onde há uma parte inteira e uma parte decimal. Também é possível aplicar a operação de truncagem em strings, o que não é o caso aqui.
Por exemplo, se tivermos o número de ponto flutuante 7.75 e quisermos truncá-lo para um inteiro, o resultado será 7, pois a parte decimal (0.75) foi removida.
É importante observar que o truncamento difere do arredondamento, onde a parte decimal é arredondada para o inteiro mais próximo. No truncamento, a parte decimal é simplesmente removida, resultando sempre em um número menor ou igual ao número original.
Documentação de numpy.trunc: https://numpy.org/doc/stable/reference/generated/numpy.trunc.html
Exemplo
valores = np.array([6.3, 0.786, 55, 10.999, -0.63]) print('Valores truncados:') print(np.trunc(valores))
Resultado:
Valores truncados: [ 6. 0. 55. 10. -0.]
5. Função numpy.fix
Arredonda para o número inteiro mais próximo em direção a zero.
Arredonda um array de pontos flutuantes elemento a elemento para o número inteiro mais próximo de zero. Os valores arredondados são retornados como valores de ponto flutuante.
Documentação: https://numpy.org/doc/stable/reference/generated/numpy.fix.html
Exemplo
valores = np.array([6.3, 0.786, 55, 10.999, -0.63]) print('Valores Arredondados:') print(np.fix(valores))
Resultado:
Valores Arredondados: [ 6. 0. 55. 10. -0.]
Conclusão
As funções de arredondamento proporcionadas pela biblioteca NumPy conferem uma grande flexibilidade aos programadores Python ao lidar com operações numéricas. Seja em análises estatísticas, processamento de dados ou simulações complexas, o entendimento aprofundado dessas funções é fundamental para assegurar resultados confiáveis e consistentes.
Neste artigo, trabalhamos com as principais funções de arredondamento do NumPy, com exemplos de códigos simples para melhor entendimento de cada função. Ao incorporar esses conhecimentos em seus projetos, você estará mais preparado para resolver desafios numéricos e obter soluções eficientes e precisas ao criar aplicações com Python.
Colabore com a Bóson Treinamentos
Ajude o canal adquirindo meus cursos na Udemy:
- Bancos de Dados com MySQL Básico: https://bit.ly/35QdWE4
- Lógica de Programação com Português Estruturado: https://bit.ly/3QKPn22
- Programação em Python do Zero: https://bit.ly/python-boson
Adquira também livros e outros itens na loja da Bóson Treinamentos na Amazon e ajude o canal a se manter e crescer: https://www.amazon.com.br/shop/bosontreinamentos
Escreva um comentário