仅将numpy数组舍入为.5或.0

我必须将 numpy 数组中的每个元素都舍入为 .5 或 .0 值。我知道该np.arange()方法,但是它在此特定任务中没有用,因为我只能使用它来将精度设置为等于 1。

这里有一个我应该做的例子:

x = np.array([2.99845, 4.51845, 0.33365, 0.22501, 2.48523])
x_rounded = some_function(x)

>>> x_rounded
array([3.0, 4.5, 0.5, 0.0, 2.5])

是否有内置方法可以这样做,或者我必须创建它?如果我应该创建该方法,是否有效率?我正在处理一个大数据集,所以我想避免迭代每个元素。

回答

import numpy as np
x = np.array([2.99845, 4.51845, 0.33365, 0.22501, 2.48523])
np.round(2 * x) / 2

输出:

array([3. , 4.5, 0.5, 0. , 2.5])


以上是仅将numpy数组舍入为.5或.0的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>