Como converter uma matriz numpy de números flutuantes em números inteiros
Você pode usar os seguintes métodos para converter uma matriz NumPy de números flutuantes em uma matriz de inteiros:
Método 1: converter números flutuantes em inteiros (arredondar para baixo)
rounded_down_integer_array = float_array. astype (int)
Método 2: Converter números flutuantes em inteiros (arredondados para o número inteiro mais próximo)
rounded_integer_array = (np. rint (some_floats)). astype (int)
Método 3: converter números flutuantes em inteiros (arredondar para cima)
rounded_up_integer_array = (np. ceil (float_array)). astype (int)
Os exemplos a seguir mostram como usar cada método na prática com a seguinte matriz flutuante NumPy:
import numpy as np #create NumPy array of floats float_array = np. array ([2.33, 4.7, 5.1, 6.2356, 7.88, 8.5]) #view array print (float_array) [2.33 4.7 5.1 6.2356 7.88 8.5 ] #view dtype of array print ( float_array.dtype ) float64
Exemplo 1: Converter números flutuantes em inteiros (arredondados para baixo)
O código a seguir mostra como converter uma matriz NumPy de pontos flutuantes em uma matriz de inteiros em que cada ponto flutuante é arredondado para o número inteiro mais próximo:
#convert NumPy array of floats to array of integers (rounded down)
rounded_down_integer_array = float_array. astype (int)
#view array
print (rounded_down_integer_array)
[2 4 5 6 7 8]
#view dtype of array
print (rounded_down_integer_array. dtype )
int32
Observe que cada float foi arredondado para o número inteiro mais próximo e o novo array tem um tipo int32 .
Exemplo 2: Converter números flutuantes em inteiros (arredondados para o número inteiro mais próximo)
O código a seguir mostra como converter uma matriz NumPy de pontos flutuantes em uma matriz de inteiros em que cada ponto flutuante é arredondado para o número inteiro mais próximo:
#convert NumPy array of floats to array of integers (rounded to nearest)
rounded_integer_array = (np. rint (float_array)). astype (int)
#view array
print (rounded_integer_array)
[2 5 5 6 8 8]
#view dtype of array
print(rounded_integer_array. dtype )
int32
Observe que cada float foi arredondado para o número inteiro mais próximo e o novo array tem um tipo int32 .
Exemplo 3: Converter números flutuantes em inteiros (arredondados)
O código a seguir mostra como converter uma matriz NumPy de pontos flutuantes em uma matriz de inteiros em que cada ponto flutuante é arredondado para o número inteiro mais próximo:
#convert NumPy array of floats to array of integers (rounded up)
rounded_up_integer_array = (np. ceil (float_array)). astype (int)
#view array
print (rounded_up_integer_array)
[3 5 6 7 8 9]
#view dtype of array
print (rounded_up_integer_array. dtype )
int32
Observe que cada float foi arredondado para o número inteiro mais próximo e o novo array tem um tipo int32 .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns no NumPy:
Como preencher um array NumPy com valores
Como remover elementos específicos do array NumPy
Como substituir elementos em um array NumPy
Como obter uma linha específica de um array NumPy