numpy设置输出精度+numpy.ndarray指定每个元素保留小数点后多少位—np.around

使用set_printoptions设置输出的精度

import numpy as np
x=np.random.random(10)
print(x)
# [ 0.07837821  0.48002108  0.41274116  0.82993414  0.77610352  0.1023732
#   0.51303098  0.4617183   0.33487207  0.71162095]
 
np.set_printoptions(precision=3)
print(x)
# [ 0.078  0.48   0.413  0.83   0.776  0.102  0.513  0.462  0.335  0.712]

抑制使用对小数的科学记数法

y=np.array([1.5e-10,1.5,1500])
print(y)
# [  1.500e-10   1.500e+00   1.500e+03]
np.set_printoptions(suppress=True)
print(y)
# [    0.      1.5  1500. ]

numpy.ndarray指定每个元素保留小数点后多少位---np.around

问题
我在采用round处理一个np.ndarray数组时,报出一个错误:

TypeError: type numpy.ndarray doesn't define __round__ method

解决
采用numpy.around()函数,它类似于Python原生的round()函数。

numpy.around参数说明
numpy.around(a, decimals=0, out=None)

 

例子
>>> np.around([0.37, 1.64])
array([ 0.,  2.])
>>> np.around([0.37, 1.64], decimals=1)
array([ 0.4,  1.6])
>>> np.around([.5, 1.5, 2.5, 3.5, 4.5]) # rounds to nearest even value
array([ 0.,  2.,  2.,  4.,  4.])
>>> np.around([1,2,3,11], decimals=1) # ndarray of ints is returned
array([ 1,  2,  3, 11])
>>> np.around([1,2,3,11], decimals=-1)
array([ 0,  0,  0, 10])

 

 

 

你可能感兴趣的:(Numpy)