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 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.
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.
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.
En las cuatro entregas anteriores recorrimos los disparates más folclóricos del género: faldas que predicen…
En Analytics Lane seguimos evolucionando nuestras herramientas y damos un paso más con el lanzamiento…
Cuando hablamos de clustering, lo primero que viene a la mente suele ser k-means. Pero…
Cualquier país desarrollado tiene sus propios indicadores folclóricos. España, por motivos que tienen mucho que…
Entras a la web de tu banco. En la página principal, un banner llamativo: “Depósito…
Seguimos ampliando el laboratorio de Analytics Lane con el lanzamiento de la versión 1.3, disponible…
This website uses cookies.