Comment convertir les éléments d'une matrice en entier avec numpy de python ?

Published: 22 mars 2019

DMCA.com Protection Status

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