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

De la Regresión Logística al Scorecard: La Transformación Matemática

En un entrada previa explicamos qué son el WOE y el IV y por qué…

23 horas ago

Analytics Lane lanza la versión 1.1 del laboratorio con nuevas suites de CLV y Scoring

Seguimos evolucionando el laboratorio de Analytics Lane y hoy lanzamos la versión 1.1, disponible en:…

2 días ago

Interés compuesto: la fuerza que multiplica tu dinero (y los errores que la anulan)

“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…

6 días ago

Cómo comparar datos con barras en Matplotlib: agrupadas, apiladas y porcentuales

Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…

1 semana ago

Costes hundidos en ciencia de datos: cuándo mantener un modelo y cuándo migrar

Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…

2 semanas ago

WOE e IV: La Base Matemática del Credit Scoring

Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…

2 semanas ago

This website uses cookies.