Spec-Zone.ru › NumPy 1.17

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] “Заметки об актуальном состоянии IEEE 754”, Уильям Кахан, https://people.eecs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF
[2] “Насколько бесполезны бессмысленные оценки округления в вычислениях с плавающей точкой?”, Уильям Кахан, 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.17.0/reference/generated/numpy.around.html

Spec-Zone.ru

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