Spec-Zone.ru › NumPy 1.16

numpy.around

numpy.around(a, decimals=0, out=None) [source]

Округляет значения до заданной точности.

Параметры:
a : array_like

Входные данные.

decimals : int, optional

Количество знаков после запятой для округления (по умолчанию: 0). Если decimals отрицательно, оно указывает на количество позиций слева от десятичной точки.

out : ndarray, optional

Альтернативный массив вывода, в котором следует разместить результат. Он должен иметь такую же форму, как ожидаемый результат, но тип значений вывода будет преобразован при необходимости. Подробнее см. doc.ufuncs (раздел «Аргументы вывода»).

Возвращает:
rounded_array : ndarray

Массив того же типа, что и a, содержащий округленные значения. Если out не был указан, создается новый массив. Возвращается ссылка на результат.

Вещественная и мнимая части комплексных чисел округляются по отдельности. Результатом округления числа с плавающей точкой является число с плавающей точкой.

См. также

ndarray.round
эквивалентный метод

ceil, fix, floor, rint, trunc

Примечания

Для значений, находящихся ровно посередине между округленными десятичными значениями, NumPy округляет до ближайшего четного значения. Таким образом, 1,5 и 2,5 округляются до 2,0, -0,5 и 0,5 округляются до 0,0 и т. д. Результаты также могут быть неожиданными из-за неточного представления десятичных дробей в стандарте IEEE с плавающей точкой [1] и ошибок, возникающих при масштабировании на степени десяти.

Ссылки

[1] (1, 2) “Lecture Notes on the Status of IEEE 754”, William Kahan, https://people.eecs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF
[2] “How Futile are Mindless Assessments of Roundoff in Floating-Point Computation?”, William Kahan, https://people.eecs.berkeley.edu/~wkahan/Mindless.pdf

Примеры

>>> np.around([0.37, 1.64])
array([ 0.,  2.])
>>> np.around([0.37, 1.64], decimals=1)
array([ 0.4,  1.6])
>>> np.around([.5, 1.5, 2.5, 3.5, 4.5]) # rounds to nearest even value
array([ 0.,  2.,  2.,  4.,  4.])
>>> np.around([1,2,3,11], decimals=1) # ndarray of ints is returned
array([ 1,  2,  3, 11])
>>> np.around([1,2,3,11], decimals=-1)
array([ 0,  0,  0, 10])

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.around.html

Spec-Zone.ru

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