Numpyのround関数を使うと浮動小数点を偶数丸めで四捨五入することができます.偶数丸めについては記事後半に記載しております.
Numpyのround関数の書式
書式
numpy.round(a,decimals=0)
a :数値または配列
decimals:丸めたい小数点以下の桁数を入力します.
[IN]1:
import numpy as np
a=1.1234
print(np.round(a,decimals= 0))
print(np.round(a,decimals= 1))
print(np.round(a,decimals= 2))
print(np.round(a,decimals= 3))
[OUT]2:
1.0
1.1
1.12
1.123
思いのままに丸めれたでしょうか?
偶数丸めについて
偶数丸めは銀行丸めとも言われおり、統計上精度よく処理することができます.
例えば,ある集団の合計が知りたい場合について考えます.丸めたい桁が1から9まで同じ確率であるとし数字の真ん中の5で常に繰り上げてしまうと全体の合計値が少し大きくなってしまいます.これを防ぐために偶数丸めをしています.
・偶数丸めの方法
端数<5:切捨て
端数=5:結果が偶数になる方に丸めます
端数>5:切上げ
偶数丸めをroundを使って体験してみよう
例2.roundを使って1.5と2.5を四捨五入してみましょう.
[IN]2:
import numpy as np
print("1.5を偶数丸め: ",np.round(1.5))
print("2.5を偶数丸め: ",np.round(2.5))
[OUT]2:
1.5を偶数丸め: 2.0
2.5を偶数丸め: 2.0
端数がちょうど5なので、結果が偶数になるように丸められました.
2.5の場合に通常の四捨五入では3ですが,偶数丸めでは2.0となります.通常の四捨五入に慣れてると結果が間違ってるように思え,違和感しかないと思います.
スポンサーリンク
コメント