Exemples de comment convertir une matrice de floats en une matrice d'entiers avec numpy en python ?
Créer une matrice de floats avec numpy
Créons d'abord une matrice de floats aléatoires avec numpy :
import numpy as np
data = np.random.rand(4,5) * 100.0
data
donne par exemple
array([[66.09124948, 68.46065421, 22.16897645, 77.84098663, 44.46296743],
[16.41751266, 63.95374579, 86.87471262, 93.30928078, 59.99831054],
[90.28468277, 72.28498272, 42.50043126, 41.53685781, 18.79383665],
[96.91022221, 76.97924353, 80.93969912, 65.56091301, 6.87342516]])
Vérifier le type d'une matrice
data.dtype
donne ici
dtype('float64')
Convertir une matrice de floats en une matrice d'entiers
Pour convertir une matrice de floats en une matrice d'entiers, une solution consiste à utiliser numpy.ndarray.astype
data = data.astype(int)
data
donne alors
array([[66, 68, 22, 77, 44],
[16, 63, 86, 93, 59],
[90, 72, 42, 41, 18],
[96, 76, 80, 65, 6]])
Notez que
data.dtype
donne
dtype('int64')