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 массивов. Другие опции будут проигнорированы.
Смотрите также
Примечания
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,))