怎么对2维的numpy array取整?

  统计/机器学习 Python    浏览次数:13261        分享
3

我有一个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维的应该怎么取整?



 

panling   2017-10-31 11:11



   2个回答 
9

取整的方法有很多,比如另外一个答案里的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.]])


SofaSofa数据科学社区DS面试题库 DS面经

sasa   2017-11-01 14:22

2


s = s.astype(np.int)


SofaSofa数据科学社区DS面试题库 DS面经

派大星   2017-10-31 13:59



  相关主题

对numpy array求每行的均值   1回答

如何在numpy array尾部增加一行   2回答

numpy中获得tensor的维数?   2回答

能直接把csv格式的数据文件读到numpy array里吗?   1回答

python numpy里array和matrix的区别?   1回答

怎么用numpy生成一个三维的tensor?   1回答

如何往numpy array中插入一列数组?   4回答

怎么获得numpy array每行最小值的index?   1回答

删除numpy.array的最后一列   2回答

numpy里的无穷大np.inf到底是多大呢?   2回答

调用np.average()时报错TypeError: No loop matching   1回答

把tf.Tensor转换为numpy array   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!