1. 程式人生 > 程式設計 >Python Numpy 控制檯完全輸出ndarray的實現

Python Numpy 控制檯完全輸出ndarray的實現

如下所示:

import numpy as np

np.set_printoptions(threshold=np.nan)
print(ndarray)

當ndarray裡面的存放的資料維度過大時,在控制檯會出現不能將ndarray完全輸出的情況,中間部分的結果會用省略號打印出來。這時就需要用到numpy裡面的set_printoptions()方法。

set_printoptions(precision=None,threshold=None,edgeitems=None,linewidth=None,suppress=None,nanstr=None,infstr=None,formatter=None)

precision:輸出結果保留精度的位數

threshold:array數量的個數在小於threshold的時候不會被摺疊

edgeitems:在array已經被摺疊後,開頭和結尾都會顯示edgeitems個數

formatter:這個很有意思,像python3裡面str.format(),就是可以對你的輸出進行自定義的格式化

其他的暫時沒用到

舉例:

precision:

 np.set_printoptions(precision=4)
 print(np.array([1.23456789]))
 >> [ 1.2346] # 最後進位了
threshold:

 np.set_printoptions(threshold=10)
 print(np.arange(1,11,1)) # np.arange(1,1)生成出來是[1-10],10個數
 >> [ 1 2 3 4 5 6 7 8 9 10]

 np.set_printoptions(threshold=9)
 print(np.arange(1,1))
 >> [ 1 2 3 ...,8 9 10]
edgeitems:

 np.set_printoptions(threshold=5)
 print(np.arange(1,8 9 10]

 np.set_printoptions(threshold=5,edgeitems=4)
 print(np.arange(1,1))
 >> [ 1 2 3 4 ...,7 8 9 10]
formatter

 np.set_printoptions(formatter={'all': lambda x: 'int: ' + str(-x)})
 print(np.arange(1,5,1))
 >> [int: -1 int: -2 int: -3 int: -4]

這個formatter是一個可呼叫的字典,'all'是其中一個key,表示裡面的x可以包含所有type,還有其他key,具體可以在原始碼裡面檢視

最後如果只想在程式碼中的某一部分使用自定義的printoptions,那麼可以通過再次呼叫np.set_printoptions()這個方法來進行reset

以上這篇Python Numpy 控制檯完全輸出ndarray的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。