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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top