操作嵌套的numpy数组

时间:2016-04-06 13:49:25

标签: python arrays numpy multidimensional-array

我有一个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)。

2 个答案:

答案 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()

中的注释