Skip to content

Vous pouvez utiliser ๐งโ€Œ๐ฉโ€Œ.๐Ÿโ€Œ๐ฅโ€Œ๐จโ€Œ๐จโ€Œ๐ซโ€Œ() , ๐งโ€Œ๐ฉโ€Œ.๐ญโ€Œ๐ซโ€Œ๐ฎโ€Œ๐งโ€Œ๐œโ€Œ() et ๐งโ€Œ๐ฉโ€Œ.๐œโ€Œ๐žโ€Œ๐ขโ€Œ๐ฅโ€Œ() pour arrondir vers le haut ou vers le bas les รฉlรฉments d’un tableau NumPy ( ๐งโ€Œ๐โ€Œ๐šโ€Œ๐ซโ€Œ๐ซโ€Œ๐šโ€Œ๐ฒโ€Œ ).

Considรฉrant les valeurs positives et nรฉgatives, il existe quatre principaux types d’arrondi : vers l’infini nรฉgatif, vers zรฉro, vers l’infini positif et vers l’infini.

Vous pouvez utiliser ๐งโ€Œ๐ฉโ€Œ.๐ซโ€Œ๐จโ€Œ๐ฎโ€Œ๐งโ€Œ๐โ€Œ() pour arrondir de moitiรฉ ร  paire.

Pour arrondir les dรฉcimales vers le haut et vers le bas ร  l’aide du module ๐ฆโ€Œ๐šโ€Œ๐ญโ€Œ๐กโ€Œ , reportez-vous ร  l’article suivant.

La version de NumPy utilisรฉe dans cet article est la suivante. Notez que les fonctionnalitรฉs peuvent varier selon les versions.

import numpy as np print(np.__version__) # 1.26.1 

Arrondir vers le bas (= arrondir vers moins l’infini) : ๐งโ€Œ๐ฉโ€Œ.๐Ÿโ€Œ๐ฅโ€Œ๐จโ€Œ๐จโ€Œ๐ซโ€Œ()

Utilisez ๐งโ€Œ๐ฉโ€Œ.๐Ÿโ€Œ๐ฅโ€Œ๐จโ€Œ๐จโ€Œ๐ซโ€Œ() pour arrondir vers moins l’infini.

a = np.array([[10.0, 10.1, 10.9], [-10.0, -10.1, -10.9]]) print(a) # [[ 10. 10.1 10.9] # [-10. -10.1 -10.9]] print(np.floor(a)) # [[ 10. 10. 10.] # [-10. -11. -11.]] print(np.floor(a).dtype) # float64 

Le type de donnรฉes renvoyรฉes est un nombre ร  virgule flottante ( ๐Ÿโ€Œ๐ฅโ€Œ๐จโ€Œ๐šโ€Œ๐ญโ€Œ ). Utilisez ๐šโ€Œ๐ฌโ€Œ๐ญโ€Œ๐ฒโ€Œ๐ฉโ€Œ๐žโ€Œ() pour le convertir en entier ( ๐ขโ€Œ๐งโ€Œ๐ญโ€Œ ). Ceci s’applique รฉgalement ร  ๐งโ€Œ๐ฉโ€Œ.๐ญโ€Œ๐ซโ€Œ๐ฎโ€Œ๐งโ€Œ๐œโ€Œ() , ๐งโ€Œ๐ฉโ€Œ.๐œโ€Œ๐žโ€Œ๐ขโ€Œ๐ฅโ€Œ() , etc.

print(np.floor(a).astype(int)) # [[ 10 10 10] # [-10 -11 -11]] 

Vous pouvez รฉgalement dรฉfinir une valeur scalaire, qui s’applique ร  ๐งโ€Œ๐ฉโ€Œ.๐ญโ€Œ๐ซโ€Œ๐ฎโ€Œ๐งโ€Œ๐œโ€Œ() , ๐งโ€Œ๐ฉโ€Œ.๐œโ€Œ๐žโ€Œ๐ขโ€Œ๐ฅโ€Œ() , etc.

print(np.floor(10.1)) # 10.0 

Arrondir vers zรฉro (= tronquer) : ๐งโ€Œ๐ฉโ€Œ.๐ญโ€Œ๐ซโ€Œ๐ฎโ€Œ๐งโ€Œ๐œโ€Œ() , ๐งโ€Œ๐ฉโ€Œ.๐Ÿโ€Œ๐ขโ€Œ๐ฑโ€Œ() , convertir en ๐ขโ€Œ๐งโ€Œ๐ญโ€Œ

Utilisez ๐งโ€Œ๐ฉโ€Œ.๐ญโ€Œ๐ซโ€Œ๐ฎโ€Œ๐งโ€Œ๐œโ€Œ() pour arrondir vers zรฉro.

a = np.array([[10.0, 10.1, 10.9], [-10.0, -10.1, -10.9]]) print(a) # [[ 10. 10.1 10.9] # [-10. -10.1 -10.9]] print(np.trunc(a)) # [[ 10. 10. 10.] # [-10. -10. -10.]] 

๐งโ€Œ๐ฉโ€Œ.๐Ÿโ€Œ๐ขโ€Œ๐ฑโ€Œ() arrondit รฉgalement vers zรฉro.

print(np.fix(a)) # [[ 10. 10. 10.] # [-10. -10. -10.]] 

Alternativement, convertir un nombre ร  virgule flottante ( ๐Ÿโ€Œ๐ฅโ€Œ๐จโ€Œ๐šโ€Œ๐ญโ€Œ ) en un entier ( ๐ขโ€Œ๐งโ€Œ๐ญโ€Œ ) en utilisant ๐šโ€Œ๐ฌโ€Œ๐ญโ€Œ๐ฒโ€Œ๐ฉโ€Œ๐žโ€Œ() arrondit รฉgalement vers zรฉro.

print(a.astype(int)) # [[ 10 10 10] # [-10 -10 -10]] 

Arrondir vers le haut (= arrondir vers l’infini positif) : ๐งโ€Œ๐ฉโ€Œ.๐œโ€Œ๐žโ€Œ๐ขโ€Œ๐ฅโ€Œ()

Utilisez ๐งโ€Œ๐ฉโ€Œ.๐œโ€Œ๐žโ€Œ๐ขโ€Œ๐ฅโ€Œ() pour arrondir vers l’infini positif.

a = np.array([[10.0, 10.1, 10.9], [-10.0, -10.1, -10.9]]) print(a) # [[ 10. 10.1 10.9] # [-10. -10.1 -10.9]] print(np.ceil(a)) # [[ 10. 11. 11.] # [-10. -10. -10.]] 

Rond vers l’infini

Depuis la version 1.26 , NumPy n’a pas de fonction pour arrondir vers l’infini, mais cela peut รชtre rรฉalisรฉ comme suit :

a = np.array([[10.0, 10.1, 10.9], [-10.0, -10.1, -10.9]]) print(a) # [[ 10. 10.1 10.9] # [-10. -10.1 -10.9]] print(np.copysign(np.ceil(np.abs(a)), a)) # [[ 10. 11. 11.] # [-10. -11. -11.]] 

La valeur absolue est obtenue en utilisant ๐งโ€Œ๐ฉโ€Œ.๐šโ€Œ๐›โ€Œ๐ฌโ€Œ() , puis arrondie ร  l’entier supรฉrieur avec ๐งโ€Œ๐ฉโ€Œ.๐œโ€Œ๐žโ€Œ๐ขโ€Œ๐ฅโ€Œ() , et le signe d’origine est restaurรฉ avec ๐งโ€Œ๐ฉโ€Œ.๐œโ€Œ๐จโ€Œ๐ฉโ€Œ๐ฒโ€Œ๐ฌโ€Œ๐ขโ€Œ๐ โ€Œ๐งโ€Œ() .