我目前有以下代码段:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import numpy
from numpy import linalg
A = [[1,2,47,11],[3,2,8,15],[0,0,3,1],[0,0,8,1]]
S = [[113,49,2,283],[-113,0,3,359],[0,5,0,6],[0,20,0,12]]
A = numpy.matrix(A)
S = numpy.matrix(S)
numpy.set_printoptions(precision=2, suppress=True, linewidth=120)
print("S^{-1} * A * S")
print(linalg.inv(S) * A * S)
产生这个输出:
是否有标准的方法来生成类似于以下的输出?我怎样才能得到这个输出?
[[ -1 -0.33 0 0]
[ 0 1 0 0]
[ 0 -648 4 0]
[ 0 6.67 0 5]]
有什么不同?
>列i的最后一个字符和列i 1的第一个字符之间至少有两个空格,但如果需要更多,则可能更多(NumPy输出生成两个空格)
>点对齐(对齐,但BetterPythonConsole的字体设置会混乱)
>不-0但是0
>没有0.但是0
编辑:当我从终端启动时,似乎Python控制台(使用gEdits BetterPythonConsole插件开始执行与Python不同的操作).
这是上面脚本的文本

本文探讨了如何改进Python中numpy矩阵的打印输出,以获得更美观且对齐的格式。通过调整numpy的printoptions,可以实现列间至少两个空格的间隔,点对齐以及避免负零和小数点前的零显示。同时,文章提到了在不同环境中(如Python控制台和特定插件)输出可能会有所不同,并展示了使用prettyprint库进行进一步美化输出的效果。
最低0.47元/天 解锁文章
4888

被折叠的 条评论
为什么被折叠?



