我有一个numpy数组:
array([[ 0, 1, 2, 3, 4, 5, 6],
[14, 15, 16, 17, 18, 19, 20],
[28, 29, 30, 31, 32, 33, 34]])
我想将elementwise除以10,然后按元素向下舍入(< 0.5向下舍入为0)。
答案 0 :(得分:1)
尝试:
import numpy as np
array = np.array([[ 0, 1, 2, 3, 4, 5, 6],
[14, 15, 16, 17, 18, 19, 20],
[28, 29, 30, 31, 32, 33, 34]], dtype=float)
result = np.round(array / 10)
result
将为array([[ 0., 0., 0., 0., 0., 0., 1.],
[ 1., 2., 2., 2., 2., 2., 2.],
[ 3., 3., 3., 3., 3., 3., 3.]])
答案 1 :(得分:0)
numpy
中有一个可以处理四舍五入的舍入函数:numpy.round()
:
import numpy as np
array = np.array([[ 0, 1, 2, 3, 4, 5, 6],
[14, 15, 16, 17, 18, 19, 20],
[28, 29, 30, 31, 32, 33, 34]])
np.round(array / 10)
# array([[ 0., 0., 0., 0., 0., 0., 1.],
# [ 1., 2., 2., 2., 2., 2., 2.],
# [ 3., 3., 3., 3., 3., 3., 3.]])
然而,这将围绕x.5
(如果x
为偶数)向下但y.5
(如果y
为奇数)向上。请参阅np.around()