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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top