Comment convertir un tableau NumPy de flotteurs en nombres entiers
Vous pouvez utiliser les méthodes suivantes pour convertir un tableau NumPy de flottants en un tableau d’entiers :
Méthode 1 : convertir les flottants en nombres entiers (arrondis à l’inférieur)
rounded_down_integer_array = float_array.astype(int)
Méthode 2 : convertir les flottants en nombres entiers (arrondis à l’entier le plus proche)
rounded_integer_array = (np.rint(some_floats)).astype(int)
Méthode 3 : convertir les flottants en nombres entiers (arrondis au supérieur)
rounded_up_integer_array = (np.ceil(float_array)).astype(int)
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le tableau de flottants NumPy suivant :
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
Exemple 1 : convertir des flottants en nombres entiers (arrondis à l’inférieur)
Le code suivant montre comment convertir un tableau NumPy de flottants en un tableau d’entiers dans lequel chaque flottant est arrondi à l’entier le plus proche :
#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
Notez que chaque flottant a été arrondi à l’entier le plus proche et que le nouveau tableau a un type de int32 .
Exemple 2 : convertir des flottants en nombres entiers (arrondis à l’entier le plus proche)
Le code suivant montre comment convertir un tableau NumPy de flottants en un tableau d’entiers dans lequel chaque flottant est arrondi à l’entier le plus proche :
#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
Notez que chaque float a été arrondi à l’entier le plus proche et que le nouveau tableau a un type de int32 .
Exemple 3 : convertir des flottants en nombres entiers (arrondis au supérieur)
Le code suivant montre comment convertir un tableau NumPy de flottants en un tableau d’entiers dans lequel chaque flottant est arrondi à l’entier le plus proche :
#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
Notez que chaque float a été arrondi à l’entier le plus proche et que le nouveau tableau a un type de int32 .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans NumPy :
Comment remplir un tableau NumPy avec des valeurs
Comment supprimer des éléments spécifiques du tableau NumPy
Comment remplacer des éléments dans un tableau NumPy
Comment obtenir une ligne spécifique à partir d’un tableau NumPy