Imprimir matriz NumPy completa

Muhammad Maisam Abbas 20 noviembre 2021
Imprimir matriz NumPy completa

Este tutorial presentará cómo imprimir un array NumPy completa en Python.

Imprima un array NumPy completa con la función numpy.set_printoptions() en Python

De forma predeterminada, si la longitud de nuestra matriz es enorme, Python truncará la salida cuando se imprima el array. Este fenómeno se demuestra en el siguiente ejemplo de código.

import numpy as np

array = np.arange(10000)
print(array)

Producción :

[   0    1    2 ... 9997 9998 9999]

En el código anterior, primero creamos un array NumPy array que contiene valores numéricos de 0 a 9999 con la función np.arange() en Python. Luego imprimimos los elementos del array con la función print(). Obtenemos una salida truncada porque el array es demasiado grande para mostrarse por completo.

Este problema se puede resolver con la función numpy.set_printoptions(). Establece diferentes parámetros relacionados con las matrices de impresión en Python. Podemos usar el parámetro threshold de la función numpy.set_printoptions() para sys.maxsize para imprimir el array NumPy completa. Para usar la propiedad sys.maxsize, también tenemos que importar la biblioteca sys. El siguiente ejemplo de código muestra cómo imprimir un array NumPy completa con la función numpy.set_printoptions() y la propiedad sys.maxsize en Python.

import sys
import numpy as np

array = np.arange(10001)
np.set_printoptions(threshold=sys.maxsize)
print(array)

Producción :

[    0     1     2     3     4     5     6     7     8     9    10    11
    12    13    14    15    16    17    18    19    20    21    22    23
    24    25    26    27    28    29    30    31    32    33    34    35
    36    37    38    39    40    41    42    43    44    45    46    47
    48    49    50    51    52    53    54    55    56    57    58    59
    60    61    62    63    64    65    66    67    68    69    70    71
    72    73    74    75    76    77    78    79    80    81    82    83
    84    85    86    87    88    89    90    91    92    93    94    95
    96    97    98    99   100   101   102   103   104   105   106   107
   108   109   110   111   112   113   114   115   116   117   118   119
...
  9912  9913  9914  9915  9916  9917  9918  9919  9920  9921  9922  9923
  9924  9925  9926  9927  9928  9929  9930  9931  9932  9933  9934  9935
  9936  9937  9938  9939  9940  9941  9942  9943  9944  9945  9946  9947
  9948  9949  9950  9951  9952  9953  9954  9955  9956  9957  9958  9959
  9960  9961  9962  9963  9964  9965  9966  9967  9968  9969  9970  9971
  9972  9973  9974  9975  9976  9977  9978  9979  9980  9981  9982  9983
  9984  9985  9986  9987  9988  9989  9990  9991  9992  9993  9994  9995
  9996  9997  9998  9999 10000]

En el código anterior, primero creamos un array NumPy array que contiene elementos de 0 a 10000 con la función numpy.arange(). Configuramos las opciones de impresión del array para que sean máximas con la función np.set_printoptions (umbral = sys.maxsize). Luego imprimimos el array completa con la función simple print() en Python.

Hay otra solución a nuestro problema que implica sólo el uso de la biblioteca NumPy. Podemos especificar el threshold dentro de la función numpy.set_printoptions() para que sea igual a np.inf para imprimir el array completa en Python. La propiedad np.inf especifica que print() se ejecutará infinitamente hasta que se imprima toda el array. Vea el siguiente ejemplo de código.

import numpy as np

array = np.arange(10001)
np.set_printoptions(threshold=np.inf)
print(array)

Producción :

[    0     1     2     3     4     5     6     7     8     9    10    11
    12    13    14    15    16    17    18    19    20    21    22    23
    24    25    26    27    28    29    30    31    32    33    34    35
    36    37    38    39    40    41    42    43    44    45    46    47
    48    49    50    51    52    53    54    55    56    57    58    59
    60    61    62    63    64    65    66    67    68    69    70    71
    72    73    74    75    76    77    78    79    80    81    82    83
    84    85    86    87    88    89    90    91    92    93    94    95
    96    97    98    99   100   101   102   103   104   105   106   107
   108   109   110   111   112   113   114   115   116   117   118   119
...
  9912  9913  9914  9915  9916  9917  9918  9919  9920  9921  9922  9923
  9924  9925  9926  9927  9928  9929  9930  9931  9932  9933  9934  9935
  9936  9937  9938  9939  9940  9941  9942  9943  9944  9945  9946  9947
  9948  9949  9950  9951  9952  9953  9954  9955  9956  9957  9958  9959
  9960  9961  9962  9963  9964  9965  9966  9967  9968  9969  9970  9971
  9972  9973  9974  9975  9976  9977  9978  9979  9980  9981  9982  9983
  9984  9985  9986  9987  9988  9989  9990  9991  9992  9993  9994  9995
  9996  9997  9998  9999 10000]

Establecemos el parámetro umbral en np.inf con la función np.set_printoptions(). Luego imprimimos el array completa con la función simple print() en Python. Se prefiere este enfoque sobre el método anterior porque este enfoque solo requiere la biblioteca NumPy.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn