Lange NumPy Array kann nicht vollständig gedruckt werden?
-
13-10-2019 - |
Frage
Ich versuche, den kompletten Inhalt von zwei 1001x1 Arrays zu drucken, aber Python gibt nur abgeschnitten mir Ausgabe etwas wie folgt aus:
array([[5,45],
[1,23],
......,
[1,24],
[2,31]])
anstelle des kompletten Arrays.
Kann jemand geben Sie mir Lösung, wie die komplette 1001x1 Array zu bekommen?
Lösung
Ich werde erraten, dass Sie eine einfache Anweisung versucht, wie:
print myarray
... und nicht als etwas explizite wie:
for each_item in myarray:
print each_item
... oder auch:
print ', '.join([str(x) for x in myarray])
Der Grund, warum Sie elided Ausgang ist zu sehen ist, vermutlich, weil numpy
implementiert ein _str_
Methode in seiner array
Klasse, die einem „reaasonable“ default zu geben versucht,
Stringdarstellung des Arrays. Sie sind vermutlich davon aus, dass einfache print
Aussagen werden in erster Linie für das Debuggen, Protokollierung verwendet werden oder ähnliche Zwecke und dass Berichterstattung über die Ergebnisse oder Marshalling der Ergebnisse auf andere Prozesse oder Lagerung, wird deutlicher Iterationen über die Daten zu tun mit (wie ich hier gezeigt).
Andere Tipps
Im Abschnitt Printing Arrays im NumPy Tutorial:
Wenn ein Array zu groß ist, gedruckt zu werden, überspringt NumPy automatisch den zentralen Teil des Arrays und druckt nur die Ecken:
>>> print(np.arange(10000)) [ 0 1 2 ..., 9997 9998 9999]
...
Um dieses Verhalten zu deaktivieren und NumPy zwingen, das gesamte Array zu drucken, können Sie die Druckoptionen mit set_printoptions ändern.
>>> np.set_printoptions(threshold=nan)
Der np.set_printoptions
Funktionsteil der NumPy Bibliothek ist.