2

私はPythonの初心者で、簡単に動けなくなったり混乱したりします...

数字を含むテーブルを含むファイルを読み取ると、それは numpy.ndarray として読み取られます

Python は数値の表示を変更しています。例:入力ファイルには次の番号があります:56143.0254154、出力ファイルには次のように書き込まれます:5.61430254e + 04

しかし、出力ファイルに最初の形式を保持したい。string.format または locale.format 関数を使用しようとしましたが、機能しません

誰でもこれを行うのを手伝ってもらえますか?

ありがとう!ルクシー

4

3 に答える 3

2

試してみてくださいnumpy.set_printoptions()。たとえば、印刷される桁数を指定して、科学的記数法を抑制することができます。たとえば、numpy.set_printoptions(precision=8,suppress=True)8桁を出力し、「... e+xx」は出力しません。

于 2013-02-06T16:43:39.453 に答える
1

numpy配列を出力する場合は、set_printoptions関数を使用してさまざまなデータ型の形式を制御できます。例えば:

In [39]: a = array([56143.0254154, 1.234, 0.012345])

In [40]: print(a)
[  5.61430254e+04   1.23400000e+00   1.23450000e-02]

In [41]: set_printoptions(formatter=dict(float=lambda t: "%14.7f" % t))

In [42]: print(a)
[ 56143.0254154      1.2340000      0.0123450]
于 2013-02-06T16:44:17.550 に答える
0

フォーマットされた文字列を作成する必要があります。変数numberに印刷する数値が含まれていると仮定すると、Python2.7または3では次のように使用できます。

print("{:20.7f}".format(number))

一方、Python 2では:

print "%20.7f" % number

または、Numpyルーチンを使用して配列を書き出す場合は、Warrenが提案した方法を使用してください。

于 2013-02-06T16:44:07.613 に答える