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