我有一个2维的numpy array,里面数值有小数,我想对整个array取整
s = np.int(s)
用np.int之后直接就报错了
TypeError: only length-1 arrays can be converted to Python scalars
看来np.int只对1维array有效,那么2维的应该怎么取整?
2个回答
取整的方法有很多,比如另外一个答案里的astype(int)。此外还有截取np.trunc,向上取整np.ceil,向下取整np.floor,四舍五入取整np.rint。
>>> x
array([[ 1. , 2.3],
[ 1.3, 2.9]])
>>> a = np.trunc(x)
>>> a
array([[ 1., 2.],
[ 1., 2.]])
>>> b = np.ceil(x)
>>> b
array([[ 1., 3.],
[ 2., 3.]])
>>> c = np.floor(x)
>>> c
array([[ 1., 2.],
[ 1., 2.]])
>>> d = np.rint(x)
>>> d
array([[ 1., 2.],
[ 1., 3.]])