Python
Jupyter

Jupyter (Python) で有効数字をどうにかする

Jupyter (Python) で数値計算をして出力する時、小数点以下の桁数が長いのがズラズラ並ぶのは、なんか嫌ですよね。 .format をいじっても良いんですが、それもメンドくさいし。たとえば...

1 / 7

0.14285714285714285

そこで %precision というマジックコマンド(%から始まるコマンド)を唱えます。

# 小数点以下の桁数を固定する

%precision 3

'%.3f'

1 / 7

0.143

指定した通り、3桁までの表示になりました。四捨五入もされています。

1 / 700

0.001

あれ?これは有効数字を決めるコマンドじゃなかったんだね...?

では、これはどうだ。

# 指数表記にする

%precision %e

'%e'

1 / 700

1.428571e-03

指数表記にはなったけど、有効数字は考えてないな...

では、これでどうだ。

# 指数表記で桁数を決める

%precision %.3e

'%.3e'

1 / 700

1.429e-03

よし、できた。

ちなみに

# 整数表示にする

%precision %i

'%i'

10000 / 7

1428

整数表示してくれます。

# 元に戻す

%precision

'%r'

10000 / 7

1428.5714285714287

元に戻ります。