Spec-Zone.ru › NumPy 2.0

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строка, либо ‘-’, ‘+’, или ‘ ‘, необязательно

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

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

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

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

  • ‘bool’
  • ‘int’
  • ‘timedelta’ : numpy.timedelta64
  • ‘datetime’ : 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, необязательно

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

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

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

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

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

  • ‘maxprec’: Выводить не более precision дробных цифр, но если

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

  • ‘maxprec_equal’: Выводить не более precision дробных цифр,

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

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

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

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

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

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

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

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

См. также

get_printoptions, printoptions, 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–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.set_printoptions.html

Spec-Zone.ru

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