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))>>> Aarray([ 0.4, 1.6, 2.1, -3.7, 2.9])>>> A = A.astype(int)>>> Aarray([ 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))>>> Aarray([ 0.4, 1.6, 2.1, -3.7, 2.9])>>> A = np.around(A)>>> Aarray([ 0., 2., 2., -4., 3.])>>> A = A.astype(int)>>> Aarray([ 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))>>> Aarray([ 0.4, 1.6, 2.1, -3.7, 2.9])>>> A = np.rint(A)>>> Aarray([ 0., 2., 2., -4., 3.])>>> A = A.astype(int)>>> Aarray([ 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))>>> Aarray([ 0.4, 1.6, 2.1, -3.7, 2.9])>>> A = np.trunc(A)>>> Aarray([ 0., 1., 2., -3., 2.])>>> A = A.astype(int)>>> Aarray([ 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))>>> Aarray([ 0.4, 1.6, 2.1, -3.7, 2.9])>>> A = np.ceil(A)>>> Aarray([ 1., 2., 3., -3., 3.])>>> A = A.astype(int)>>> Aarray([ 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))>>> Aarray([ 0.4, 1.6, 2.1, -3.7, 2.9])>>> A = np.floor(A)>>> Aarray([ 0., 1., 2., -4., 2.])>>> A = A.astype(int)>>> Aarray([ 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 |
