首页 > 解决方案 > ndarray 行不是每行都显示

问题描述

我有这个代码:

import numpy as np

M = np.matrix([[-4.41991030e-05,-9.27712599e-04,3.75797779e-04,4.11804326e-04,1.08815444e-04],
        [-3.58432112e-04,-6.11583291e-04,1.18565910e-03,4.10337098e-04,9.96854953e-05],
        [-1.36865905e-03,1.19013259e-03,1.62785645e-03,1.85052363e-04,6.73256050e-05],
        [-0.00292639,-0.0084904,-0.00337932,-0.00014984,0.0001385]])

print(M)

当我运行它时,每行分为两行,尽管终端处于全屏模式:

在此处输入图像描述

即使我将它保存到文件中,使用这部分代码:

with open('file.txt', 'w') as f:
    for row in M:
        f.write(str(row))
        f.write('\n')

我遇到了同样的问题:

在此处输入图像描述

我试图用不同的编辑器打开文件,但我有相同的输出格式,所以我最终发现问题与文本编辑器无关,这就是我在这里发布我的问题的原因。
这里有人知道是什么问题吗?

标签: pythonnumpyformattingformatnumpy-ndarray

解决方案


numpy默认情况下将最大线宽设置为75您可以使用更改此设置set_printoptions(linewidth = some_num),请参阅文档

In[17]:
np.set_printoptions(linewidth=700)
M = np.matrix([[-4.41991030e-05,-9.27712599e-04,3.75797779e-04,4.11804326e-04,1.08815444e-04],
        [-3.58432112e-04,-6.11583291e-04,1.18565910e-03,4.10337098e-04,9.96854953e-05],
        [-1.36865905e-03,1.19013259e-03,1.62785645e-03,1.85052363e-04,6.73256050e-05],
        [-0.00292639,-0.0084904,-0.00337932,-0.00014984,0.0001385]])

print(M)

[[-4.41991030e-05 -9.27712599e-04  3.75797779e-04  4.11804326e-04  1.08815444e-04]
 [-3.58432112e-04 -6.11583291e-04  1.18565910e-03  4.10337098e-04  9.96854953e-05]
 [-1.36865905e-03  1.19013259e-03  1.62785645e-03  1.85052363e-04  6.73256050e-05]
 [-2.92639000e-03 -8.49040000e-03 -3.37932000e-03 -1.49840000e-04  1.38500000e-04]]

推荐阅读