Spec-Zone.ru › NumPy 1.20

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 or None, optional

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

thresholdint, optional

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

edgeitemsint, optional

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

linewidthint, optional

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

suppressbool, optional

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

nanstrstr, optional

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

infstrstr, optional

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

signstring, either ‘-‘, ‘+’, or ‘ ‘, optional

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

formatterdict of callables, optional

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

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

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

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

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

  • ‘fixed’: Always print exactly precision fractional digits,

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

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

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

  • ‘maxprec’: Print at most precision fractional digits, but if

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

  • ‘maxprec_equal’: Print at most precision fractional digits,

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

legacystring or False, optional

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

New in version 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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.set_printoptions.html

Spec-Zone.ru

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