NumPy 1.14 教學 – #02 如何印出陣列以及格式設定(np.set_printoptions)

開始學NumPy之前至少先熟悉Python基礎使用方法,這樣再來看NumPy才不會那麼吃力!
Python3 教學、筆記

本篇算是比較短篇幅的單元,在這將會說明該如何印出NumPy的陣列以及如何使用np.set_printoptions方法來設定列印格式!同時也會利用這個機會稍微使用一下reshape函數!
本文章的練習檔也有放在GitHub:Learn NumPy – GitHub

基本列印

直接print( )

下列會給三種陣列預設列印出來的樣子,三種陣列分別是1維、2維、3維 。
在下列範例會使用到一個函數reshape( ),這個函數是用來對NumPy的陣列進行改變維度的工具!
np.reshape(<欲將陣列改變成維度的大小>):np.reshape(1, 2)表示要改成1-by-2的矩陣。

1維陣列

Output

 

2維陣列

Output

 

3維陣列

Output

 

自訂列印選項

NumPy列印有很多可自訂選項

np.set_printoptions( 列印選項 ):這是一個全域設定,以下會說明各個不同的選項代表的意義與控制的項目。

np.set_printoptions( threshold=元素門檻值 ):NumPy預設值是1000。意思是如果陣列元素值沒有超過門檻值的話,NumPy就會讓Python將所有元素列印出來!
當陣列元素數量到達一定量的時候,就可能會需要用到這個方法!

Output

 

np.set_printoptions( precision=浮點數列印精度 ):控制陣列內容微幅點數時的列印精度(小數位數),下列範例看得出來這個方法是會自動四捨五入的喔!

Output

 

np.set_printoptions( edgeitems=省略列印內容時要顯示的元素數量 ):當列印陣列時需要省略內容,edgeitems會決定要印出來的元素有幾個。

Output

 

np.set_printoptions( linewidth=每一行要印出幾個字元 ):這只是單純決定列印陣列時每一行字的字元數上限喔,並不影響列印其他內容的每一行字元數上限!

Output

 

np.set_printoptions( suppress=是否要抑制顯示小數位 ):其實這個我不太知道該怎麼解釋才夠完全,但我對這個功能的理解是用來“抑制顯示小數位數”,而預設值是False(代表不要抑制顯示小數位,就是通通給我顯示)。

Output

 

np.set_printoptions( nanstr=當陣列元素值出現NaN時所顯示的字串 ):當陣列元素值出現not-a-number時要顯示的內容為何。沒錯,這個也可以改!

Output

 

np.set_printoptions( infstr=當陣列元素值出現inf時所顯示的字串 ):當陣列元素值出現inf(無限大)時要顯示的內容為何。

Output

 

np.set_printoptions( sign=控制正負號 ):當sign=’+’時,就會連正數都會加上正號;當sign=’-‘時(預設值),就是只有數值<0時,才會加上負號!

Output

 

np.set_printoptions( formatter={ 使用lambda函數客製列印陣列元素的格式 } ):元素內容格式也能客製,甚至能在列印時改變數值呢!
型別關鍵字
all:各種型別都套用格式
float_kind:只套用floatxx
int_kind:只套用intxx
str_kind:只套用字串
除此之外,還有很多種型別的關鍵字!請參考技術文件:numpy.set_printoptions – SciPy.org

Output

 

Andy Wang

站在巨人的肩膀上仍須戰戰兢兢!

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料