【问题标题】:ndarray rows are not displayed each one per linendarray 行不是每行都显示
【发布时间】:2018-05-25 09:09:21
【问题描述】:

我有这个代码:

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')

我遇到了同样的问题:

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

【问题讨论】:

    标签: python numpy formatting format numpy-ndarray


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2022-06-10
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      • 2015-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多