Exemples de comment convertir les éléments d'une matrice en entier avec python:
Avec la fonction nympy astype
Pour convertir les éléments d'une matrice en entier avec python, il existe la fonction numpy astype, exemple:
>>> import numpy as np
>>> A = np.array((0.4, 1.6, 2.1, -3.7, 2.9))
>>> A
array([ 0.4, 1.6, 2.1, -3.7, 2.9])
>>> A = A.astype(int)
>>> A
array([ 0, 1, 2, -3, 2])
Arrondir les nombres avant de les convertir en entier
On peut utiliser la fonction numpy around pour d'abord arrondir les nombres décimaux avant de les convertir en entier:
>>> import numpy as np
>>> A = np.array((0.4, 1.6, 2.1, -3.7, 2.9))
>>> A
array([ 0.4, 1.6, 2.1, -3.7, 2.9])
>>> A = np.around(A)
>>> A
array([ 0., 2., 2., -4., 3.])
>>> A = A.astype(int)
>>> A
array([ 0, 2, 2, -4, 3])
Note: marche aussi avec la fonction rint, exemple
>>> import numpy as np
>>> A = np.array((0.4, 1.6, 2.1, -3.7, 2.9))
>>> A
array([ 0.4, 1.6, 2.1, -3.7, 2.9])
>>> A = np.rint(A)
>>> A
array([ 0., 2., 2., -4., 3.])
>>> A = A.astype(int)
>>> A
array([ 0, 2, 2, -4, 3])
Tronquer les nombres avant de les convertir en entier
>>> import numpy as np
>>> A = np.array((0.4, 1.6, 2.1, -3.7, 2.9))
>>> A
array([ 0.4, 1.6, 2.1, -3.7, 2.9])
>>> A = np.trunc(A)
>>> A
array([ 0., 1., 2., -3., 2.])
>>> A = A.astype(int)
>>> A
array([ 0, 1, 2, -3, 2])
Arrondir à l'entier supérieur le plus proche
>>> import numpy as np
>>> A = np.array((0.4, 1.6, 2.1, -3.7, 2.9))
>>> A
array([ 0.4, 1.6, 2.1, -3.7, 2.9])
>>> A = np.ceil(A)
>>> A
array([ 1., 2., 3., -3., 3.])
>>> A = A.astype(int)
>>> A
array([ 1, 2, 3, -3, 3])
Arrondir à l'entier inférieur le plus proche
>>> import numpy as np
>>> A = np.array((0.4, 1.6, 2.1, -3.7, 2.9))
>>> A
array([ 0.4, 1.6, 2.1, -3.7, 2.9])
>>> A = np.floor(A)
>>> A
array([ 0., 1., 2., -4., 2.])
>>> A = A.astype(int)
>>> A
array([ 0, 1, 2, -4, 2])
Références
Liens | Site |
---|---|
astype | docs.scipy.org |
around | scipy doc |
rint | doc scipy |
trunc | doc scipy |
ceil | doc scipy |
floor | doc scipy |
How to convert 2D float numpy array to 2D int numpy array? | stackoverflow |
Rounding | scipy doc |
Better rounding in Python's NumPy.around: Rounding NumPy Arrays | stackoverflow |
are numpy array elements rounded automatically? | stackoverflow |