当前位置:网站首页>numpy.around
numpy.around
2022-08-01 23:21:00 【Wanderer001】
numpy.around(a, decimals=0, out=None)[source]
Evenly round to the given number of decimals.
Parameters:
a:array_like
Input data.
decimals:int, optional
Number of decimal places to round to (default: 0). If decimals is negative, it specifies the number of positions to the left of the decimal point.
out:ndarray, optional
Alternative output array in which to place the result. It must have the same shape as the expected output, but the type of the output values will be cast if necessary. See doc.ufuncs (Section “Output arguments”) for details.
Returns:
rounded_array:ndarray
An array of the same type as a, containing the rounded values. Unless out was specified, a new array is created. A reference to the result is returned.
The real and imaginary parts of complex numbers are rounded separately. The result of rounding a float is a float.
See also
equivalent method
Notes:
For values exactly halfway between rounded decimal values, NumPy rounds to the nearest even value. Thus 1.5 and 2.5 round to 2.0, -0.5 and 0.5 round to 0.0, etc.
np.around uses a fast but sometimes inexact algorithm to round floating-point datatypes. For positive decimals it is equivalent to np.true_divide(np.rint(a * 10**decimals), 10**decimals), which has error due to the inexact representation of decimal fractions in the IEEE floating point standard [1] and errors introduced when scaling by powers of ten. For instance, note the extra “1” in the following:
>>> np.round(56294995342131.5, 3)
56294995342131.51If your goal is to print such values with a fixed number of decimals, it is preferable to use numpy’s float printing routines to limit the number of printed decimals:
>>> np.format_float_positional(56294995342131.5, precision=3)
'56294995342131.5'The float printing routines use an accurate but much more computationally demanding algorithm to compute the number of digits after the decimal point.
Alternatively, Python’s builtin round function uses a more accurate but slower algorithm for 64-bit floating point values:
>>> round(56294995342131.5, 3)
56294995342131.5
>>> np.round(16.055, 2), round(16.055, 2) # equals 16.0549999999999997
(16.06, 16.05)References
“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
Examples
>>> 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])边栏推荐
猜你喜欢
随机推荐
Nacos配置中心之加载配置
怎样做才能让这条SQL变成一条危险的SQL?
【参营经历贴】2022网安夏令营
Jmeter是什么
ELK日志采集
leetcode刷题
Thesis understanding [RL - Exp Replay] - Experience Replay with Likelihood-free Importance Weights
When solving yolov5 training: "AssertionError: train: No labels in VOCData/dataSet_path/train.cache. Can not train"
PostgreSQL Basics--Common Commands
y84.第四章 Prometheus大厂监控体系及实战 -- prometheus告警机制进阶(十五)
关于ETL的两种架构(ETL架构和ELT架构)
计算由两点定义的线的角度
6133. 分组的最大数量
npm npm
如何更好的理解的和做好工作?
文件查询匹配神器 【glob.js】 实用教程
UML diagram of soft skills
How to better understand and do a good job?
excel cell contian two words, seperated by a slash
vscode hide menu bar

![[C language advanced] file operation (2)](/img/4d/49d9603aeed16f1600d69179477eb3.png)







