Arrondir aux chiffres significatifs en Python

Shivam Arora 30 janvier 2023
  1. Utilisez la fonction round() pour arrondir un nombre au chiffre significatif donné en Python
  2. Utilisez le module math pour arrondir un nombre au chiffre significatif donné en Python
  3. Utiliser la mise en forme de chaîne pour arrondir un nombre au chiffre significatif donné en Python
  4. Utilisez le module sigfig pour arrondir un nombre au chiffre significatif donné en Python
Arrondir aux chiffres significatifs en Python

Arrondir le nombre signifie remplacer un nombre par une valeur approximative qui s’en rapproche. Nous pouvons également arrondir les nombres au chiffre significatif requis.

Dans cet article, nous arrondirons un nombre à un chiffre significatif spécifique en Python.

Utilisez la fonction round() pour arrondir un nombre au chiffre significatif donné en Python

La fonction round() arrondit les valeurs flottantes données à l’entier le plus proche ou à la position décimale spécifiée.

Nous pouvons utiliser un nombre négatif pour arrondir l’entier à la valeur plancher significative en l’affectant à la fonction round(). Ce nombre négatif à préciser dépend des chiffres significatifs requis.

Par exemple, si nous souhaitons arrondir à un chiffre significatif, nous spécifions la valeur (1-total chiffres) dans la fonction round().

Voir le code suivant.

x = round(1342, -3)
print(x)

Production:

1000

Utilisez le module math pour arrondir un nombre au chiffre significatif donné en Python

Cette méthode est une amélioration par rapport à la fonction discutée précédemment. Nous pouvons créer une fonction simple définie par l’utilisateur pour rendre cela plus pratique. Nous n’aurons pas à spécifier le nombre négatif dans la fonction round() de cette méthode. Nous allons remplacer cela en utilisant une combinaison de la fonction math.floor() et de la fonction math.log10().

Voir le code ci-dessous.

from math import log10, floor


def round_it(x, sig):
    return round(x, sig - int(floor(log10(abs(x)))) - 1)


print(round_it(1324, 1))

Production:

1000

Utiliser la mise en forme de chaîne pour arrondir un nombre au chiffre significatif donné en Python

En Python, le spécificateur %g dans la chaîne formate un flottant arrondi à un chiffre significatif spécifié. Si la magnitude du nombre final est énorme, alors il l’affiche en notation scientifique.

Cette méthode renvoie une chaîne. Nous devons donc reconvertir le numéro de chaîne en une valeur flottante ou entière après l’avoir formaté.

Par exemple,

x = float("%.1g" % 1324)
print(x)

Production:

1000.0

Utilisez le module sigfig pour arrondir un nombre au chiffre significatif donné en Python

Le module sigfig est le mieux adapté pour arrondir les nombres à un chiffre significatif car il minimise les tracas liés à la création d’une fonction définie par l’utilisateur et simplifie le code.

On peut spécifier le nombre de chiffres significatifs dans la fonction round() de ce module.

Voir l’exemple suivant.

from sigfig import round

print(round(1324, sigfigs=1))

Production:

1000