Python

NumPy: Imprimir todos los elementos de un vector de NumPy

Al imprimir por pantalla una matriz de NumPy es posible que no aparezcan todos los elementos, solamente una parte de estos. Lo que es debido a una opción por defecto en la configuración de la librería. Veamos cómo se puede acceder a la configuración para cambiar esta opción de modo que sea posible imprimir todos los elementos de un vector de NumPy.

Las opciones de impresión de NumPy

Las opciones de impresión de NumPy se pueden consultar mediante la función np.get_printoptions(). Una función que al ser llamada en una sesión de Python devolverá un resultado como el siguiente:

{'edgeitems': 3,
 'threshold': 1000,
 'floatmode': 'maxprec',
 'precision': 8,
 'suppress': False,
 'linewidth': 75,
 'nanstr': 'nan',
 'infstr': 'inf',
 'sign': '-',
 'formatter': None,
 'legacy': False}

en donde las opciones más importantes para el tamaño de los vectores son:

  • threshold: máximo número de elementos que se imprimirá por pantalla, las matrices o vectores que superen este límite serán resumidos.
  • edgeitems: el número de elementos que se imprimen al principio y al final de un vector cuando este es resumido porque supera el valor indicado en threshold.
  • linewidth: ancho máximo en caracteres que se pueden mostrar en cada una de las líneas.
  • precision: los dígitos que se mostrarán cuando los elementos sean de tipo real.

Los valores por defecto de estas opciones se pueden modificar mediante el uso de la función np.set_printoptions(). Función en la únicamente es necesario pasar opciones que se desean modificar junto al valor.

Imprimir todos los elementos de un vector de NumPy

Ahora, por lo que se ha visto en la sección anterior, el número máximo de elementos que se muestran en una matriz de NumPy es 1000, por lo que si se crea un vector con 1200 no se mostrarán todos.

import numpy as np

np.arange(1200)
array([   0,    1,    2, ..., 1197, 1198, 1199])

Solamente los tres primeros elementos y los tres últimos. En el caso de una matriz se mostrará solamente las tres primeras y últimas columnas de las tres primeras y últimas filas. Algo similar a lo que se puede ver en el siguiente ejemplo.

np.arange(1200).reshape(120, 10)
array([[   0,    1,    2, ...,    7,    8,    9],
       [  10,   11,   12, ...,   17,   18,   19],
       [  20,   21,   22, ...,   27,   28,   29],
       ...,
       [1170, 1171, 1172, ..., 1177, 1178, 1179],
       [1180, 1181, 1182, ..., 1187, 1188, 1189],
       [1190, 1191, 1192, ..., 1197, 1198, 1199]])

Ahora para imprimir todos los valores de estas matrices solamente se tiene que cambiar el valor de threshold de 1000 a infinito, tal como se muestra a continuación.

np.set_printoptions(threshold=np.inf)

np.arange(1200)

A partir de este momento, en la sesión de NumPy, se mostrarán todos los elementos de los vectores independientemente del tamaño de estos. Lo que se puede comprobar simplemente ejecutando el código anterior, aunque en este caso no mostraré las salidas debido al tamaño de estas.

Conclusiones

En esta ocasión se ha visto cómo se puede modificar las opciones de impresión para imprimir todos los elementos de un vector de NumPy. Unas opciones de configuración similar a las que se han visto en el caso de Pandas y que puede ser útil en ciertas ocasiones.

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: NumPy

Recent Posts

Analytics Lane lanza ScoreFlow, un SaaS para construir y desplegar scorecards de crédito

En Analytics Lane seguimos evolucionando nuestras herramientas y damos un paso más con el lanzamiento…

3 días ago

DBSCAN y la selección de ε: teoría, intuición y aplicación práctica

Cuando hablamos de clustering, lo primero que viene a la mente suele ser k-means. Pero…

4 días ago

El bestiario de los indicadores económicos absurdos: El zoo patrio

Cualquier país desarrollado tiene sus propios indicadores folclóricos. España, por motivos que tienen mucho que…

1 semana ago

Por qué el banco te ofrece un 3% TAE y no es lo que parece

Entras a la web de tu banco. En la página principal, un banner llamativo: “Depósito…

2 semanas ago

Analytics Lane lanza la versión 1.3 del laboratorio con nuevas herramientas de evaluación de modelos y utilidades prácticas

Seguimos ampliando el laboratorio de Analytics Lane con el lanzamiento de la versión 1.3, disponible…

2 semanas ago

This website uses cookies.