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])

 

 

 

發佈了261 篇原創文章 · 獲贊 85 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章