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десятичных знаков, -
даже если это выведет больше или меньше цифр, чем необходимо для уникальной идентификации значения.
- ‘fixed’: Всегда выводить ровно
-
- ‘unique’: Выводить минимальное количество десятичных знаков,
-
необходимых для уникальной идентификации каждого значения. Разные элементы могут иметь разное количество цифр. Значение параметра
precisionигнорируется.
-
- ‘maxprec’: Выводить не более
precisionдесятичных знаков, но если -
элемент может быть уникально представлен меньшим количеством цифр, выводить только это количество.
- ‘maxprec’: Выводить не более
-
- ‘maxprec_equal’: Выводить не более
precisionдесятичных знаков, -
но если каждый элемент массива может быть уникально представлен одинаковым меньшим количеством цифр, использовать это количество цифр для всех элементов.
- ‘maxprec_equal’: Выводить не более
-
-
legacyстрока или
False, необязательно -
Если установлено в строку
‘1.13’, включает режим вывода legacy 1.13. Это приближает вывод numpy 1.13, включающем пробел в позиции знака для чисел с плавающей запятой и различное поведение для 0d массивов. Если установлено вFalse, отключает режим legacy. Нераспознанные строки будут игнорироваться с предупреждением для обеспечения совместимости с будущими версиями.Новое в версии 1.14.0.
См. также
Примечания
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