Home » Python » NumPyの使い方 » NumPyのclipを使って配列のマイナス値をゼロに

NumPyのclipを使って配列のマイナス値をゼロに

動作検証バージョン:64bit Windows 10 Pro + Python 3.8.3 + NumPy 1.19.1

NumPyの配列内に存在するマイナスの値をゼロにするコードをご紹介しました。

元の配列をそのまま残しておきたいのなら、ndarray.clipメソッドや、numpy.clip関数です。

[スポンサードリンク]

ndarray.clipメソッドでNumPy配列のマイナス値をゼロにするサンプル

ndarray.clipメソッドを使う場合、以下のようなコードです。

import numpy as np

arr_org = np.array([1, -2, 3, 4, -5])

arr_new = arr_org.clip(min=0)
print(arr_new)

上記のコードを実行すると、元の配列

[1 -2 3 4 -5]

のマイナス値がゼロになった

[1 0 3 4 0]

が出力されます。

ndarray.clipメソッドでは、引数minやmaxなどが指定でき、配列の最小値や最大値を設定できます。

引数minに「0」を指定すると配列内の最小値が「0」が設定され、マイナスの値がゼロになります。

2次元配列の場合

2次元配列の場合も同様です。

import numpy as np

arr2d_org = np.array([
    [1, 4, -7],
    [-2, 5, -8],
    [3, -6, 9]
])

arr2d_new = arr2d_org.clip(min=0)
print(arr2d_new)

上記のコードを実行すると、

[[1 4 0]
 [0 5 0]
 [3 0 9]]

が出力されます。

numpy.clip関数でNumPy配列のマイナス値をゼロにするサンプル

numpy.clip関数でも、同様の処理が可能です。

ただし、引数名がndarray.clipメソッドと異なること、最小値を指定する引数a_minも最大値を指定する引数a_maxも指定しなければならない点に、注意が必要です。

import numpy as np

arr_org = np.array([1, -2, 3, 4, -5])

arr_new = np.clip(arr_org, a_min=0, a_max=None)
print(arr_new)

numpy.clip関数では、第1引数に元の配列、引数a_minに最小値、引数a_maxに最大値を指定します。

今回はマイナスの値をゼロにするだけですので、引数a_maxにはNoneを指定しています。

[スポンサードリンク]

Home » Python » NumPyの使い方 » NumPyのclipを使って配列のマイナス値をゼロに

Copyright © インストラクターのネタ帳 All Rights Reserved.

.