说我在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.]])
有没有办法让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 ]
? (〜类似于MATLAB的方式)
另外,我注意到在打印numpy
数组时,IPython 不使用终端的全宽。其他功能(例如pprint.pprint
)。我怎么能改变它?
答案 0 :(得分:5)
使用numpy.set_printoptions。用于增加线宽:
np.set_printoptions(linewidth=150)
根据您的需要替换150。现在,按照你的要求进行打印(我想这意味着没有小数点):
print my_matrix.astype('i')
如果您有浮点值,您还可以使用选项precision
来控制打印输出的精度:
np.set_printoptions(precision=3)