本文简要介绍 python 语言中 numpy.around
的用法。
用法:
numpy.around(a, decimals=0, out=None)
均匀四舍五入到给定的小数位数。
- a: array_like
输入数据。
- decimals: 整数,可选
要四舍五入的小数位数(默认值:0)。如果小数为负数,它指定小数点左侧的位数。
- out: ndarray,可选
用于放置结果的替代输出数组。它必须具有与预期输出相同的形状,但如果需要,输出值的类型将被强制转换。有关更多详细信息,请参阅输出类型确定。
- rounded_array: ndarray
与 a 类型相同的数组,包含四舍五入的值。除非指定了 out,否则将创建一个新数组。返回对结果的引用。
复数的实部和虚部分别四舍五入。将浮点数舍入的结果是浮点数。
参数:
返回:
注意:
对于恰好介于四舍五入的十进制值之间的值,NumPy 会四舍五入到最接近的偶数值。因此 1.5 和 2.5 舍入为 2.0,-0.5 和 0.5 舍入为 0.0,等等。
np.around
使用快速但有时不精确的算法来舍入浮点数据类型。对于正小数点它相当于np.true_divide(np.rint(a * 10**decimals), 10**decimals)
, 由于 IEEE 浮点标准中小数的不精确表示而有错误[1]以及按 10 次方缩放时引入的错误。例如,请注意以下额外的“1”:>>> np.round(56294995342131.5, 3) 56294995342131.51
如果您的目标是打印具有固定小数位数的此类值,则最好使用 numpy 的浮点打印例程来限制打印的小数位数:
>>> np.format_float_positional(56294995342131.5, precision=3) '56294995342131.5'
浮点打印例程使用精确但计算要求更高的算法来计算小数点后的位数。
或者,Python 的内置
round
函数对 64 位浮点值使用更准确但更慢的算法:>>> round(56294995342131.5, 3) 56294995342131.5 >>> np.round(16.055, 2), round(16.055, 2) # equals 16.0549999999999997 (16.06, 16.05)
参考:
“关于 IEEE 754 状态的讲义”,William Kahan,https://people.eecs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF
1:
例子:
>>> 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])
相关用法
- Python numpy argpartition用法及代码示例
- Python numpy arctan用法及代码示例
- Python numpy array用法及代码示例
- Python numpy array_repr用法及代码示例
- Python numpy arccos用法及代码示例
- Python numpy array2string用法及代码示例
- Python numpy arctan2用法及代码示例
- Python numpy arctanh用法及代码示例
- Python numpy arccosh用法及代码示例
- Python numpy arange用法及代码示例
- Python numpy argsort用法及代码示例
- Python numpy array_equiv用法及代码示例
- Python numpy array_str用法及代码示例
- Python numpy array_equal用法及代码示例
- Python numpy arcsinh用法及代码示例
- Python numpy argmin用法及代码示例
- Python numpy argmax用法及代码示例
- Python numpy argwhere用法及代码示例
- Python numpy arcsin用法及代码示例
- Python numpy array_split用法及代码示例
- Python numpy asscalar用法及代码示例
- Python numpy any用法及代码示例
- Python numpy ascontiguousarray用法及代码示例
- Python numpy asarray_chkfinite用法及代码示例
- Python numpy all用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.around。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。