11

私はpythonで画像処理を行っていますが、変数を出力したいのですが、現在、変数bは shape のnumpy配列(200,200)です。私が見るすべてをするときprint b

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

この配列の内容全体を出力したり、ファイルや単純なものに書き込んだりして、内容をすべて見ることができるようにするにはどうすればよいでしょうか?

4

2 に答える 2

16

もちろん、他の場所で回答されているように、配列の印刷しきい値を次のように変更できます。

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)

配列

于 2013-04-12T21:11:02.170 に答える
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 配列の場合:完全な numpy 配列を出力します

于 2013-04-12T20:46:51.797 に答える