2017-01-29 10 views
0

私はLaTeXテーブルを生成するのにtabulate 0.75を使用しています。 テーブルを生成する関数tabulateには、入力をフォーマットする組み込み関数があります。 しかし、すべての列自体の小数点以下の桁数を定義したいと思います。例えば、tabulate:各列のfloatfmtを定義します

a  b 
18.12 16 
17.47 15 

これは完璧に動作する組み込み関数(floatfmt =「2F。」)である - それは、同じすべての列に作用します。

tabulate(tables[i], headers[i], numalign="center", tablefmt="latex_booktabs", floatfmt=".2f") 

私はそれが非常に簡単で、エラーハンドリングますので、私は非常に頻繁に私のリスト

array123 = ufloat(nominalvalues, errors) 

ためufloat使用しています

tables = [(list(zip(
       unumpy.nominal_values(dt), 
       unumpy.nominal_values(U), 
       unumpy.nominal_values(I), 
       unumpy.nominal_values(E), 
       unumpy.std_devs(E)))), ............and so on 

経由で自分のデータを取得しています。誰もがフォーマットする簡単な方法を知っていますか?

"{:.2f}".format(unumpy.nominal_values(E)) 
TypeError: non-empty format string passed to object.__format__ 

これは機能しません。

ありがとうございます。 documentationから

+0

np.round(unumpy.nominal_values(E)、x)は仕事をしました! – rfaenger

答えて

1

floatfmt引数がリストまたはフォーマットストリングのタプルとすることができる、列ごとに1 、すべての列は、異なる数 がフォーマット::

>>> print tabulate([[0.12345, 0.12345, 0.12345]], floatfmt=(".1f", ".3f")) 
--- ----- ------- 
0.1 0.123 0.12345 
--- ----- ------- 
有していてもよく、その場合に

あなたのコードを少しきちんとしてください。

関連する問題