numpy配列を評価可能な文字列として返すarray_repr()

目次

numpy配列を単にprintする

numpy配列を単にprintすると次のようになる。

>>> import numpy as np
>>> a = np.arange(12).reshape(3, 4)
>>> print(a)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

これは見やすいが、要素がカンマで区切られていないので、この出力を別のコードにコピペして定数として使う、というようなことはできない。

numpy.array_repr

評価可能な文字列を返すnumpy.array_repr()という関数があり、これを使用すると次のようになる。

>>> print(np.array_repr(a))
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])

これをコピペして、np.などとつければ、別のコードで定数として使用することができる。

もちろん、npyなどのファイルに出力してもよいのだが、サイズが小さいのならば、こちらのほうが手軽であろう。

https://numpy.org/doc/stable/reference/generated/numpy.array_repr.html