動作検証バージョン: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
print(arr_new)
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
print(arr2d_new)
arr2d_org = np.array([
[1, 4, -7],
[-2, 5, -8],
[3, -6, 9]
])
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
print(arr_new)
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を指定しています。
[スポンサードリンク]
- Newer:python-pptxで表・テーブル内の文字色を設定する
- Older:TextStreamを返すメソッド一覧