私は現在、次のコードを持っています。この出力生成numpy行列の良い出力はどうすれば生成できますか?
#!/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]]
何が違うのですか?
- 少なくとも2つの列
i
の最後の文字とカラムi+1
の最初の文字の間にスペースが、より多くのが必要な場合、それはより多くのかもしれないが - ドットが並んでいる((numpyの出力は、二つのスペースになります) はそれが)まで揃えですが、
BetterPythonConsole
台無しのフォント設定 - ん
-0
しかし0
0.
ありませんが、0
編集:私はターミナルからそれを起動したときにgEdits BetterPythonConsoleプラグインで開始されるPythonコンソールは、Pythonのとは別の何かをするかのように思われます。
これは、prettyprintで
[email protected]:~/Desktop$ python matrixScript.py
S^{-1} * A * S
[[ -1. -0.33 0. -0. ]
[ 0. -1. -0. 0. ]
[ 0. -648. 4. -0. ]
[ 0. 6.67 0. 5. ]]
上記のスクリプトのテキストとして出力されます:
S^{-1} * A * S
matrix([[ -1. , -0.33, 0. , -0. ],
[ 0. , -1. , -0. , 0. ],
[ 0. , -648. , 4. , -0. ],
[ 0. , 6.67, 0. , 5. ]])
これはdefenitely悪いですが、それは試してみる価値がありました。
[恐ろしい印刷のnumpy.array](http://stackoverflow.com/questions/2891790/pretty-printing-of-numpy-array) – Chris
これは重複していません。私はこの質問(および答え)を読んだが、十分な書式設定を提供していない。 –
'pprint'を試しましたか? http://stackoverflow.com/questions/1523660/how-to-print-a-list-in-python-nicely –