ITエンジニア ノイのブログ

ITエンジニアのノイです。 YouTubeで ITエンジニアのお勉強という学習用の動画を公開しています。チャンネル登録お願いします!https://m.youtube.com/channel/UCBKfJIMVWXd3ReG_FDh31Aw/playlists

Pythonのround関数

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]

youtu.be