Spec-Zone.ru › NumPy 1.21

numpy.set_printoptions

numpy.set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, suppress=None, nanstr=None, infstr=None, formatter=None, sign=None, floatmode=None, *, legacy=None)[source]

Установка параметров вывода.

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

Параметры
precisionint или None, необязательно

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

thresholdint, необязательно

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

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

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

linewidthint, необязательно

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

suppressbool, необязательно

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

nanstrstr, необязательно

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

infstrstr, необязательно

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

signстрока, либо ‘-‘, ‘+’, или ‘ ‘, необязательно

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

formatterсловарь вызываемых функций, необязательно

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

  • ‘bool’
  • ‘int’
  • ‘timedelta’ : numpy.timedelta64
  • ‘datetime’ : numpy.datetime64
  • ‘float’
  • ‘longfloat’ : 128-битные числа с плавающей точкой
  • ‘complexfloat’
  • ‘longcomplexfloat’ : составленные из двух 128-битных чисел с плавающей точкой
  • ‘numpystr’ : типы numpy.string_ и numpy.unicode_
  • ‘object’ : np.object_ массивы

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

  • ‘all’ : устанавливает все типы
  • ‘int_kind’ : устанавливает ‘int’
  • ‘float_kind’ : устанавливает ‘float’ и ‘longfloat’
  • ‘complex_kind’ : устанавливает ‘complexfloat’ и ‘longcomplexfloat’
  • ‘str_kind’ : устанавливает ‘numpystr’
floatmodestr, необязательно

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

  • ‘fixed’: Всегда выводить ровно precision десятичных знаков,

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

  • ‘unique’: Выводить минимальное количество десятичных знаков,

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

  • ‘maxprec’: Выводить не более precision десятичных знаков, но если

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

  • ‘maxprec_equal’: Выводить не более precision десятичных знаков,

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

legacyстрока или False, необязательно

Если установлено в строку ‘1.13’, включает режим вывода legacy 1.13. Это приближает вывод numpy 1.13, включающем пробел в позиции знака для чисел с плавающей запятой и различное поведение для 0d массивов. Если установлено в False, отключает режим legacy. Нераспознанные строки будут игнорироваться с предупреждением для обеспечения совместимости с будущими версиями.

Новое в версии 1.14.0.

См. также

get_printoptions, printoptions, set_string_function, array2string

Примечания

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

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

Примеры

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

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

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

>>> 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.  ])

© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.set_printoptions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API