2013-04-12 60 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