Maison > développement back-end > Tutoriel Python > Comment imprimer joliment des tableaux NumPy sans notation scientifique et avec une précision spécifiée ?

Comment imprimer joliment des tableaux NumPy sans notation scientifique et avec une précision spécifiée ?

DDD
Libérer: 2024-12-08 11:41:11
original
1063 Les gens l'ont consulté

How to Pretty-Print NumPy Arrays Without Scientific Notation and with Specified Precision?

Imprimer joliment un tableau NumPy sans notation scientifique et avec une précision donnée

Lors de l'impression de tableaux NumPy de flotteurs, cela donne souvent plusieurs décimales et utilise un format scientifique, ce qui le rend difficile à lire, en particulier pour les tableaux de faible dimension. Étant donné que les tableaux NumPy doivent être imprimés sous forme de chaînes, cela soulève la question de trouver une solution à ce problème.

L'utilisation de numpy.set_printoptions vous permet de définir la précision souhaitée pour votre sortie. En définissant cette option, vous pouvez contrôler le nombre de décimales affichées.

Pour améliorer encore la lisibilité, vous pouvez désactiver la notation scientifique à l'aide de l'option de suppression. Cela garantit que les petits nombres sont affichés en notation standard.

import numpy as np

x = np.random.random(10)
print(x)
# [ 0.07837821  0.48002108  0.41274116  0.82993414  0.77610352  0.1023732
#   0.51303098  0.4617183   0.33487207  0.71162095]

np.set_printoptions(precision=3)
print(x)
# [ 0.078  0.48   0.413  0.83   0.776  0.102  0.513  0.462  0.335  0.712]
Copier après la connexion
y = np.array([1.5e-10, 1.5, 1500])
print(y)
# [  1.500e-10   1.500e+00   1.500e+03]

np.set_printoptions(suppress=True)
print(y)
# [    0.      1.5  1500. ]
Copier après la connexion

Si vous utilisez NumPy version 1.15.0 ou ultérieure, vous pouvez tirer parti du gestionnaire de contexte numpy.printoptions pour une application localisée de l'impression. choix. Dans le contexte, les paramètres d'impression souhaités sont appliqués, mais reviennent aux paramètres par défaut à l'extérieur.

x = np.random.random(10)
with np.printoptions(precision=3, suppress=True):
    print(x)
    # [ 0.073  0.461  0.689  0.754  0.624  0.901  0.049  0.582  0.557  0.348]
Copier après la connexion

Pour éviter que les zéros ne soient supprimés à la fin des flottants, vous pouvez utiliser le paramètre formateur dans np.set_printoptions. Ce paramètre permet de spécifier une fonction de format pour chaque type de données.

np.set_printoptions(formatter={'float': '{: 0.3f}'.format})
print(x)
# Output: [ 0.078  0.480  0.413  0.830  0.776  0.102  0.513  0.462  0.335  0.712]
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal