我有一个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.]])
相关主题
怎么生成一个填满逻辑真(True)的numpy array?
1回答
调用np.average()时报错TypeError: No loop matching
1回答
numpy里面resize和reshape的区别是什么?
1回答
用np.round的时候报错AttributeError: no attribute 'rint'
1回答
我们谢绝在回答前讲“生动”的故事。
我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。
我们谢绝答非所问。
我们谢绝自己不会、硬要回答。
我们感激每一个用户在编写答案时的努力与付出!