Распечатать полный массив NumPy

Из этого туториала Вы узнаете, как напечатать полный массив NumPy в Python.

Распечатать полный массив NumPy с помощью функции numpy.set_printoptions() в Python

По умолчанию, если длина нашего массива огромна, Python обрезает вывод при печати массива. Это явление демонстрируется в приведенном ниже примере кода.

import numpy as np
array = np.arange(10000)
print(array)

Выход:

[   0    1    2 ... 9997 9998 9999]

В приведенном выше коде мы сначала создали массив NumPy array, содержащий числовые значения от 0 до 9999, с помощью функции np.arange() в Python. Затем мы распечатали элементы массива с помощью функции print(). Мы получаем усеченный вывод, потому что массив слишком велик для отображения полностью.

Эту проблему можно решить с помощью функции numpy.set_printoptions(). Он устанавливает различные параметры, связанные с массивами печати в Python. Мы можем использовать параметр threshold функции numpy.set_printoptions() для sys.maxsize, чтобы распечатать полный массив NumPy. Чтобы использовать свойство sys.maxsize, нам также необходимо импортировать библиотеку sys. В следующем примере кода показано, как напечатать полный массив NumPy с помощью функции numpy.set_printoptions() и свойства sys.maxsize в Python.

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

Выход:

[    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]

В приведенном выше коде мы сначала создали массив NumPy array, содержащий элементы от 0 до 10000 с помощью функции numpy.arange(). Мы устанавливаем максимальные параметры печати для массива с помощью функции np.set_printoptions(threshold = sys.maxsize). Затем мы распечатали полный массив с помощью простой функции print() в Python.

Есть еще одно решение нашей проблемы, которое предполагает использование только библиотеки NumPy. Мы можем указать порог внутри функции numpy.set_printoptions() равным np.inf для печати всего массива в Python. Свойство np.inf указывает, что print() будет выполняться бесконечно, пока не будет напечатан весь массив. См. Следующий пример кода.

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

Выход:

[    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]

Мы устанавливаем параметр threshold равным np.inf с помощью функции np.set_printoptions(). Затем мы распечатали полный массив с помощью простой функции print() в Python. Этот подход предпочтительнее предыдущего, поскольку для этого подхода требуется только библиотека NumPy.