roundの基本的な考え方
Pythonの.round()
関数は、数値を指定された桁数に丸めるために使用されます。
.round()
関数は以下のように使用します。
rounded_number = round(number, ndigits)
ここで、number
は丸める対象の数値であり、ndigits
は丸める桁数を指定します。ndigits
は省略可能な引数であり、デフォルトでは0となっています。ndigits
に正の値を指定すると、その桁数に丸められます。負の値を指定すると、整数部や小数点以下の桁数を丸めます。
roundの使い方
以下にいくつかの例を示します。
number = 3.14159 rounded = round(number) # 丸められた結果: 3 print(rounded) rounded = round(number, 2) # 丸められた結果: 3.14 print(rounded) rounded = round(number, 3) # 丸められた結果: 3.142 print(rounded) rounded = round(number, -1) # 丸められた結果: 0.0 print(rounded)
上記の例では、round()
関数を使用してnumber
を丸めています。最初の例ではデフォルトの桁数0で丸められ、小数点以下を切り捨てて整数の3が得られます。2番目と3番目の例では、小数点以下2桁および3桁に丸められた数値が得られます。最後の例では、負の値を指定することで整数部分を丸め、小数点以下を0にしています。
X.round()として使う
def softmax(x): return np.exp(x - np.max(x)) / np.sum(np.exp(x - np.max(x))) x = np.array([1, 0, 2]) print("x=", x) print("softmax=", softmax(x)) print("softmax_round3=", softmax(x).round(3))
ここでのソフトマックス関数ではオーバーフローを防ぐため、最大値で減算するようにしています。 今回は最大値が2なのでオーバーフローは起こりませんが・・・
出力結果
x= [1 0 2] softmax= [0.24472847 0.09003057 0.66524096] softmax_round3= [0.245 0.09 0.665]