Spec-Zone.ru › NumPy 1.15

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, http://www.cs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF
[2] “How Futile are Mindless Assessments of Roundoff in Floating-Point Computation?”, William Kahan, http://www.cs.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.15.4/reference/generated/numpy.around.html

Spec-Zone.ru

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