Ame*_*ina 1 python printing arrays 2d numpy
假设我在Python中的numpy数组中有一个矩阵
In [3]: my_matrix
Out[3]:
array([[ 2., 2., 2., 2., 2., 2., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 2., 2., 2., 2., 0., 0., 0.,
0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 2., 2., 2.,
2., 2., 2., 2., 2.]])
Run Code Online (Sandbox Code Playgroud)
有没有办法让Python/IPython打印我的数组:
[ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2;
0 0 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 ]
Run Code Online (Sandbox Code Playgroud)
?(〜类似于MATLAB的方式)
另外,我注意到打印数组时IPython 没有使用终端的全宽numpy.其他功能(例如pprint.pprint).我怎么能改变呢?
使用numpy.set_printoptions.为了增加线宽:
np.set_printoptions(linewidth=150)
Run Code Online (Sandbox Code Playgroud)
用你需要的任何东西替换150.现在,按照你的要求打印(我想这意味着没有小数点):
print my_matrix.astype('i')
Run Code Online (Sandbox Code Playgroud)
如果您有浮点值,您还可以使用以下选项控制打印输出的精度precision:
np.set_printoptions(precision=3)
Run Code Online (Sandbox Code Playgroud)