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