2013-06-11 27 views
12

私はnumpy.savetxtを見ていて、fmtオプションで止まっています。numpy.savetxtでfmtオプションを設定する

私はhereを見てみました。また、以下のリンクの参考文献も参照してください。fmtオプションの並べ替えに使用できるすべての文字は、私に何が起こっているのか一般的な感覚を与えます。

%シンボルが必須で、指定された例がhereの場合、どのように解釈すればよいですか? "f"が浮動小数点を設定している場合、どうすれば10.5になりますか(浮動小数点の設定方法は分かりません)。

+0

10と5インチ%10.5fは、最初にリンクしているドキュメントの4.と5.で説明しています。 – Jdog

+0

愚かな私...それをありがとう!私はあなたがそれらを指摘するまで、それらの点は実際に私の質問に答えていることを知らなかった!この場合、フィールドはちょうど[ここにあります](https://sites.google.com/site/mrdelaneysweb/python-field-widths)です。それはとてもきれいです! –

答えて

30

多くの方法でfmtパラメータを使用できます。ここではいくつかの例を示します。

import numpy as np 
a = np.array([[11,12,13,14], 
       [21,22,23,24]]) 

1)浮動小数点精度を設定:np.savetxt('tmp.txt',a, fmt='%1.3f')

11.000 12.000 13.000 14.000 
21.000 22.000 23.000 24.000 

2)右詰めに文字を追加します。スペースで

np.savetxt('tmp.txt',a, fmt='% 4d')

11 12 13 14 
    21 22 23 24 

ゼロで: "-")の左詰め(使用文字を追加np.savetxt('tmp.txt',a, fmt='%04d')

0011 0012 0013 0014 
0021 0022 0023 0024 

3)。スペースで

np.savetxt('tmp.txt',a, fmt='%-4d')

11 12 13 14 
21 22 23 24 
あなたはまた同じように、式を作成するために使用することができます

(表現のエントリ数は、アレイの列数と同じであることに注意してください。

4)一般的な例:np.savetxt('tmp.txt',a, fmt='%1.1f + %1.1f/(%1.1f * %1.1f)')

11.0 + 12.0/(13.0 * 14.0) 
21.0 + 22.0/(23.0 * 24.0) 
1

このlinkは役に立つかもしれません。リンクから

format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type] 
fill  ::= <any character> 
align  ::= "<" | ">" | "=" | "^" 
sign  ::= "+" | "-" | " " 
width  ::= integer 
precision ::= integer 
type  ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%" 

幅が最小フィールド幅を定義する10進整数です。指定されていない場合、フィールドの幅は内容によって決まります。

明示的な配置が指定されていない場合、widthフィールドの前にゼロ( '0')文字を追加すると、数値型のサインアライブゼロパディングが有効になります。これは、 '='の配置タイプの '0'の塗りつぶし文字に相当します。

精度は、 'f'および 'F'でフォーマットされた浮動小数点値の小数点以下、または浮動小数点値の書式付き小数点の前後に表示される桁数を示す10進数です'g'または 'G'。数字でないタイプの場合、フィールドは最大フィールドサイズを示します。つまり、フィールドの内容から使用される文字の数です。精度は整数値には使用できません。

関連する問題