numpy.set_printoptions#

numpy.set_printoptions(точность=None, порог=None, edgeitems=None, ширина линии=None, подавить=None, nanstr=None, infstr=None, форматер=None, знак=None, floatmode=None, *, устаревший=None, override_repr=None)[источник]#

Установить параметры печати.

Эти параметры определяют способ отображения чисел с плавающей точкой, массивов и других объектов NumPy.

Параметры:
точностьint или None, опционально

Количество знаков точности для вывода чисел с плавающей точкой (по умолчанию 8). Может быть None, если floatmode не является fixed, чтобы вывести столько цифр, сколько необходимо для однозначного определения значения.

порогint, необязательный

Общее количество элементов массива, при котором срабатывает сводка вместо полного repr (по умолчанию 1000). Чтобы всегда использовать полный repr без сводки, передайте sys.maxsize.

edgeitemsint, необязательный

Количество элементов массива в сводке в начале и конце каждого измерения (по умолчанию 3).

ширина линииint, необязательный

Количество символов в строке для вставки переносов строк (по умолчанию 75).

подавитьbool, необязательно

Если True, всегда печатать числа с плавающей точкой, используя фиксированную запись, в этом случае числа, равные нулю в текущей точности, будут печататься как ноль. Если False, то научная запись используется, когда абсолютное значение наименьшего числа < 1e-4 или отношение максимального абсолютного значения к минимальному > 1e3. По умолчанию False.

nanstrstr, optional

Строковое представление нечисла с плавающей точкой (по умолчанию nan).

infstrstr, optional

Строковое представление бесконечности с плавающей точкой (по умолчанию inf).

знакстрока, либо '-', '+', или ' ', опционально

Управляет выводом знака типов с плавающей точкой. Если '+', всегда выводить знак положительных значений. Если ' ', всегда выводить пробел (символ пробела) в позиции знака положительных значений. Если '-', опускать знак положительных значений. (по умолчанию '-')

Изменено в версии 2.0: Параметр sign теперь может быть целочисленным типом, ранее типы были типами с плавающей точкой.

форматерсловарь вызываемых объектов, опционально

Если не None, ключи должны указывать тип(ы), к которым применяется соответствующая функция форматирования. Вызываемые объекты должны возвращать строку. Типы, которые не указаны (по соответствующим ключам), обрабатываются форматтерами по умолчанию. Отдельные типы, для которых можно установить форматтер:

  • 'bool'

  • 'int'

  • 'timedelta': a numpy.timedelta64

  • ‘datetime’ : a numpy.datetime64

  • 'float'

  • ‘longfloat’ : числа с плавающей точкой 128-бит

  • ‘complexfloat’

  • ‘longcomplexfloat’ : состоит из двух 128-битных чисел с плавающей запятой

  • ‘numpystr’ : типы numpy.bytes_ и numpy.str_

  • 'object' : np.object_ массивы

Другие ключи, которые можно использовать для установки группы типов сразу:

  • ‘all’ : устанавливает все типы

  • ‘int_kind’ : устанавливает ‘int’

  • 'float_kind' : устанавливает 'float' и 'longfloat'

  • 'complex_kind' : устанавливает 'complexfloat' и 'longcomplexfloat'

  • ‘str_kind’ : устанавливает ‘numpystr’

floatmodestr, optional

Управляет интерпретацией точность опция для типов с плавающей запятой. Может принимать следующие значения (по умолчанию maxprec_equal):

  • ‘fixed’: Всегда выводить ровно точность дробные цифры,

    даже если это выведет больше или меньше цифр, чем необходимо для однозначного определения значения.

  • 'unique': Вывести минимальное количество дробных цифр, необходимое

    для уникального представления каждого значения. Разные элементы могут иметь разное количество цифр. Значение точность опция игнорируется.

  • 'maxprec': Выводить не более точность дробные цифры, но если

    элемент может быть однозначно представлен с меньшим количеством цифр выводить только с таким количеством.

  • ‘maxprec_equal’: Выводить максимум точность дробные цифры,

    но если каждый элемент в массиве может быть однозначно представлен с равным количеством меньших цифр, используйте это количество цифр для всех элементов.

устаревшийстрока или False, опционально

Если установлено в строку '1.13' включает режим печати legacy 1.13. Это приближает вывод печати numpy 1.13, включая пробел в позиции знака для float и различное поведение для 0d массивов. Это также включает режим печати legacy 1.21 (описанный ниже).

Если установлено в строку '1.21' включает режим устаревшего вывода 1.21. Этот режим приближает вывод numpy 1.21 для сложных структурированных типов данных, не вставляя пробелы после запятых, разделяющих поля, и после двоеточий.

Если установлено в '1.25' приближает печать 1.25, что в основном означает, что числовые скаляры печатаются без информации о типе, например, как 3.0 вместо np.float64(3.0).

Если установлено в '2.1'информация о форме не предоставляется при суммировании массивов (т.е., когда несколько элементов заменяются ...).

Если установлено в '2.2', переход к использованию научной нотации для печати np.float16 и np.float32 типы могут произойти позже или вообще не произойти для больших значений.

Если установлено в False, отключает режим совместимости.

Нераспознанные строки будут игнорироваться с предупреждением для обеспечения обратной совместимости.

Изменено в версии 1.22.0.

Изменено в версии 2.2.

override_repr: вызываемый объект, необязательный

Если задана передаваемая функция, она будет использоваться для генерации repr массивов. Другие опции будут проигнорированы.

Смотрите также

get_printoptions, printoptions, array2string

Примечания

  • formatter всегда сбрасывается вызовом set_printoptions.

  • Используйте printoptions как контекстный менеджер для временной установки значений.

  • Эти параметры печати применяются только к ndarrays NumPy, а не к скалярам.

Примечание о параллелизме: см. Параметры форматирования текста

Примеры

Точность чисел с плавающей запятой может быть установлена:

>>> import numpy as np
>>> np.set_printoptions(precision=4)
>>> np.array([1.123456789])
[1.1235]

Длинные массивы могут быть сокращены:

>>> np.set_printoptions(threshold=5)
>>> np.arange(10)
array([0, 1, 2, ..., 7, 8, 9], shape=(10,))

Мелкие результаты могут быть подавлены:

>>> eps = np.finfo(float).eps
>>> x = np.arange(4.)
>>> x**2 - (x + eps)**2
array([-4.9304e-32, -4.4409e-16,  0.0000e+00,  0.0000e+00])
>>> np.set_printoptions(suppress=True)
>>> x**2 - (x + eps)**2
array([-0., -0.,  0.,  0.])

Пользовательский форматтер можно использовать для отображения элементов массива по желанию:

>>> np.set_printoptions(formatter={'all':lambda x: 'int: '+str(-x)})
>>> x = np.arange(3)
>>> x
array([int: 0, int: -1, int: -2])
>>> np.set_printoptions()  # formatter gets reset
>>> x
array([0, 1, 2])

Чтобы вернуть параметры по умолчанию, используйте:

>>> np.set_printoptions(edgeitems=3, infstr='inf',
... linewidth=75, nanstr='nan', precision=8,
... suppress=False, threshold=1000, formatter=None)

Также для временного переопределения опций используйте printoptions в качестве контекстного менеджера:

>>> with np.printoptions(precision=2, suppress=True, threshold=5):
...     np.linspace(0, 10, 10)
array([ 0.  ,  1.11,  2.22, ...,  7.78,  8.89, 10.  ], shape=(10,))