怎么对2维的numpy array取整?

  统计/机器学习 Python    浏览次数: 5065
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个回答 
7

取整的方法有很多,比如另外一个答案里的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面经 问答 实战

sasa   2017-11-01 14:22

2


s = s.astype(np.int)


SofaSofa数据科学社区 DS面经 问答 实战

派大星   2017-10-31 13:59



  相关主题

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

求一个nxn的numpy array的对角线的和?   1回答

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

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

删除numpy array中指定的一列   1回答

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

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

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

numpy里的np.clip函数怎么用?   1回答

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

numpy array里怎么用fillna填充nan的值?   1回答

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



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

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

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

我们谢绝答非所问。

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

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