Pregunta

Estoy tratando de imprimir el contenido completo de dos matrices 1001x1, pero Python sólo da a mí truncada seria algo como esto:

array([[5,45],
       [1,23],
       ......,
       [1,24],
       [2,31]])  

en lugar de la matriz completa.

Puede alguien darme una solución de cómo obtener la matriz completa 1001x1?

¿Fue útil?

Solución

Me voy a suponer que se trató de una simple declaración como:

print myarray

... en lugar de algo más explícita como:

for each_item in myarray:
    print each_item

... o incluso:

print ', '.join([str(x) for x in myarray])

La razón por la que se está viendo la salida elidido es, presumiblemente, debido a implementos numpy un _str_ método de su clase array que trata de dar un defecto "reaasonable" representación de cadena de la matriz. Ellos son, presumiblemente, en el supuesto de que las declaraciones print simples serán utilizados principalmente para la depuración, la explotación forestal, o usos similares y que informe de los resultados, o cálculo de referencias de los resultados a otros procesos o almacenamiento, se va a hacer uso de iteraciones más explícitas sobre los datos (como he mostrado aquí).

Otros consejos

Consulte la sección impresión matrices en el tutorial NumPy:

Si una matriz es demasiado grande para ser impreso, NumPy salta automáticamente la parte central de la matriz y sólo imprime las esquinas:

>>> print(np.arange(10000))
[   0    1    2 ..., 9997 9998 9999]

...

Para desactivar este comportamiento y forzar NumPy para imprimir toda la matriz, puede cambiar las opciones de impresión que utiliza set_printoptions.

>>> np.set_printoptions(threshold=nan)

La función np.set_printoptions es parte de la biblioteca NumPy.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top