Come convertire un array numpy di float in numeri interi


È possibile utilizzare i seguenti metodi per convertire un array NumPy di numeri in virgola mobile in un array di numeri interi:

Metodo 1: convertire numeri in virgola mobile in numeri interi (arrotondamento per difetto)

 rounded_down_integer_array = float_array. astype (int)

Metodo 2: convertire i numeri in virgola mobile in numeri interi (arrotondati all’intero più vicino)

 rounded_integer_array = (np. rint (some_floats)). astype (int)

Metodo 3: convertire numeri in virgola mobile in numeri interi (arrotondamento per eccesso)

 rounded_up_integer_array = (np. ceil (float_array)). astype (int)

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente array float 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

Esempio 1: convertire i float in numeri interi (arrotondato per difetto)

Il codice seguente mostra come convertire un array di numeri in virgola mobile NumPy in un array di numeri interi in cui ciascun numero in virgola mobile viene arrotondato all’intero più vicino:

 #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

Si noti che ogni float è stato arrotondato all’intero più vicino e il nuovo array ha un tipo int32 .

Esempio 2: convertire i numeri in virgola mobile in numeri interi (arrotondato all’intero più vicino)

Il codice seguente mostra come convertire un array di numeri in virgola mobile NumPy in un array di numeri interi in cui ciascun numero in virgola mobile viene arrotondato all’intero più vicino:

 #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

Si noti che ogni float è stato arrotondato all’intero più vicino e il nuovo array ha un tipo int32 .

Esempio 3: convertire i float in numeri interi (arrotondati per eccesso)

Il codice seguente mostra come convertire un array di numeri in virgola mobile NumPy in un array di numeri interi in cui ciascun numero in virgola mobile viene arrotondato all’intero più vicino:

 #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

Si noti che ogni float è stato arrotondato all’intero più vicino e il nuovo array ha un tipo int32 .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in NumPy:

Come riempire un array NumPy con valori
Come rimuovere elementi specifici dall’array NumPy
Come sostituire gli elementi in un array NumPy
Come ottenere una riga specifica da un array NumPy

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *