Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man NumPy-Arrays ohne wissenschaftliche Notation und mit angegebener Präzision hübsch drucken?

Wie kann man NumPy-Arrays ohne wissenschaftliche Notation und mit angegebener Präzision hübsch drucken?

DDD
DDDOriginal
2024-12-08 11:41:111066Durchsuche

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

Drucken Sie ein NumPy-Array ohne wissenschaftliche Notation und mit vorgegebener Genauigkeit hübsch aus.

Beim Drucken von NumPy-Arrays mit Gleitkommazahlen ergeben sich häufig mehrere Dezimalstellen und verwendet ein wissenschaftliches Format, was die Lesbarkeit erschwert, insbesondere bei niedrigdimensionalen Arrays. Da NumPy-Arrays als Zeichenfolgen gedruckt werden müssen, stellt sich die Frage nach einer Lösung für dieses Problem.

Mit numpy.set_printoptions können Sie die gewünschte Genauigkeit für Ihre Ausgabe festlegen. Durch Setzen dieser Option können Sie die Anzahl der angezeigten Dezimalstellen steuern.

Um die Lesbarkeit weiter zu verbessern, können Sie die wissenschaftliche Notation mithilfe der Unterdrückungsoption deaktivieren. Dadurch wird sichergestellt, dass kleine Zahlen in der Standardnotation angezeigt werden.

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]
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. ]

Wenn Sie NumPy Version 1.15.0 oder höher verwenden, können Sie den Kontextmanager numpy.printoptions für die lokalisierte Anwendung von Drucken nutzen Optionen. Innerhalb des Kontexts werden die gewünschten Druckeinstellungen angewendet, außerhalb jedoch auf die Standardeinstellungen zurückgesetzt.

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]

Um zu verhindern, dass Nullen am Ende von Floats entfernt werden, können Sie den Formatter-Parameter in np.set_printoptions verwenden. Mit diesem Parameter können Sie für jeden Datentyp eine Formatfunktion angeben.

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]

Das obige ist der detaillierte Inhalt vonWie kann man NumPy-Arrays ohne wissenschaftliche Notation und mit angegebener Präzision hübsch drucken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn