【发布时间】:2019-12-18 14:48:57
【问题描述】:
我有以下代码:
import numpy as np
from numpy import matrix
MM = matrix([[1.00,0,0],[0,1.50,0],[0,0,2.00]])
M = np.array(MM)
print("matrix M: \n", M)
哪个输出看起来像这样:
matrix M:
[[1. 0. 0. ]
[0. 1.5 0. ]
[0. 0. 2. ]]
这非常美观,但我希望它看起来更有条理。希望是这样的:
[1. 0. 0.]
[0. 1.5 0.]
[0. 0. 2.]
【问题讨论】:
-
您可以创建自定义的 'to_string()' 方法。遗憾的是,python 以这种方式打印 n 维数组.....
-
您可以使用
print("matrix M: \n", M, sep='')修复输出中M第一行的对齐方式。但是你仍然会有外部方括号。 -
@WarrenWeckesser 对,但它不会像 OP 显然想要的那样删除双方括号
-
阅读完答案后,我现在不确定是否应该编辑标题。你的确切问题是什么?如何去掉括号?如何对齐价值观?如何去除矩阵前的空格?
-
我会建议一个涉及更广泛值的测试用例。例如,一行中的“12.3”可能会弄乱逐行格式。默认矩阵格式的一大优点是它保持列对齐。摆脱 [] 的外部集合可能不值得付出努力。
np.matrix始终是 2d,但其他 numpy 数组可能是 1d 或 3d。