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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *