怎么对2维的numpy array取整?

  统计/机器学习 Python    浏览次数:7818        分享
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里怎么用fillna填充nan的值?   1回答

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

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

numpy array怎么保存成文件?   1回答

用np.round的时候报错AttributeError: no attribute 'rint'   1回答

'numpy.ndarray' object has no attribute 'head'   1回答

怎么随机打乱一个numpy array?   3回答

怎么把numpy array中的inf换成0?   1回答

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

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

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

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



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

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

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

我们谢绝答非所问。

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

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