serie lunga NumPy non può essere stampato completamente?
-
13-10-2019 - |
Domanda
Sto cercando di stampare l'intero contenuto di due array 1001x1, ma Python dà solo me troncato uscita qualcosa di simile:
array([[5,45],
[1,23],
......,
[1,24],
[2,31]])
anziché la gamma completa.
qualcuno può darmi una soluzione di come ottenere la matrice 1001x1 completo?
Soluzione
ho intenzione di indovinare che si è tentato una semplice affermazione come:
print myarray
... piuttosto che qualcosa di più esplicito del tipo:
for each_item in myarray:
print each_item
... o anche:
print ', '.join([str(x) for x in myarray])
Il motivo che stai vedendo uscita eliso è, presumibilmente, perché implementa numpy
un _str_
metodo nella sua classe array
che cerca di dare un default "reaasonable"
rappresentazione di stringa della matrice. Essi sono, presumibilmente, partendo dal presupposto che semplici dichiarazioni print
saranno utilizzati principalmente per il debug, la registrazione, o per usi simili e che la notifica dei risultati, o marshalling dei risultati ad altri processi o di archiviazione, sta per essere fatto utilizzando iterazioni più esplicite sui dati (come ho mostrato qui).
Altri suggerimenti
Si veda la sezione stampa Array nel tutorial NumPy:
Se un array è troppo grande per essere stampata, NumPy salta automaticamente la parte centrale della matrice e stampa solo gli angoli:
>>> print(np.arange(10000)) [ 0 1 2 ..., 9997 9998 9999]
...
Per disattivare questo comportamento e la forza NumPy per stampare l'intero array, è possibile modificare le opzioni di stampa utilizzando set_printoptions.
>>> np.set_printoptions(threshold=nan)
La funzione np.set_printoptions
è parte della libreria NumPy.