2013-04-12 90 views
8

我正在用python進行圖像處理,我想輸出一個變量,現在變量b是一個形狀爲(200,200)的numpy數組。當我做print b所有我看到的是:打印numpy數組的全部內容

array([[ 0., 0., 0., ..., 0., 0., 0.], 
     [ 0., 0., 0., ..., 0., 0., 0.], 
     [ 0., 0., 0., ..., 0., 0., 0.], 
     ..., 
     [ 0., 0., 0., ..., 0., 0., 0.], 
     [ 0., 0., 0., ..., 0., 0., 0.], 
     [ 0., 0., 0., ..., 0., 0., 0.]]) 

如何打印出該數組的全部內容,將其寫入到文件或簡單的東西,所以我可以只看全面的內容?

+0

首秀打印類型的'(b)輸出' – dkamins

+0

等待一秒鐘,是它'numpy'數組? – J0HN

回答

0
to_print = "\n".join([", ".join(row) for row in b]) 
print (to_print) #console 

f = open("path-to-file", "w") 
f.write(to_print) #to file 

在情況下,它numpy的數組:Print the full numpy array

+0

是的,它是numpy.ndarray – user2275931

+0

好的,這有助於很多,但是這個輸出的結構是什麼?每個[]向量是單行右邊的? – user2275931

+0

是的(至少應該是:))。嘗試使用清晰元素圖案的小陣列,例如[[1,2,3],[4,5,6]]瞭解結構。 – J0HN

9

當然,你可以改變陣列的打印閾爲answered elsewhere有:

np.set_printoptions(threshold=np.nan) 

但取決於你想要什麼看,可能有更好的方法來做到這一點。例如,如果你的陣列真正大多是零,你已經證明,並且要檢查它是否有非零值,你可能看的東西,如:

import numpy as np 
import matplotlib.pyplot as plt 

In [1]: a = np.zeros((100,100)) 

In [2]: a 
Out[2]: 
array([[ 0., 0., 0., ..., 0., 0., 0.], 
     [ 0., 0., 0., ..., 0., 0., 0.], 
     [ 0., 0., 0., ..., 0., 0., 0.], 
     ..., 
     [ 0., 0., 0., ..., 0., 0., 0.], 
     [ 0., 0., 0., ..., 0., 0., 0.], 
     [ 0., 0., 0., ..., 0., 0., 0.]]) 

更改一些值:

In [3]: a[4:19,5:20] = 1 

它仍然看起來是一樣的:

In [4]: a 
Out[4]: 
array([[ 0., 0., 0., ..., 0., 0., 0.], 
     [ 0., 0., 0., ..., 0., 0., 0.], 
     [ 0., 0., 0., ..., 0., 0., 0.], 
     ..., 
     [ 0., 0., 0., ..., 0., 0., 0.], 
     [ 0., 0., 0., ..., 0., 0., 0.], 
     [ 0., 0., 0., ..., 0., 0., 0.]]) 

檢查一些事情,不要求手動看着都值:

In [5]: a.sum() 
Out[5]: 225.0 

In [6]: a.mean() 
Out[6]: 0.022499999999999999 

或情節是:

In [7]: plt.imshow(a) 
Out[7]: <matplotlib.image.AxesImage at 0x1043d4b50> 

或保存到一個文件:

In [11]: np.savetxt('file.txt', a) 

array

+0

太棒了,np.savetxt命令一定會派上用場。謝謝。我嘗試使用.write,但最終只保存了上面顯示的截斷版本。 – user2275931

+0

不客氣@ user2275931,歡迎光臨[SO]!如果這回答你的問題,你可以點擊它的複選標記來「接受」答案。 – askewchan

+0

@ user2275931太好了,還要注意['np.savetxt'](http://docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html)也需要各種格式化選項。 – askewchan