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:

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

 

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*