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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *