Home » Python » NumPyの使用例など » NumPyのwhere関数を使って配列のマイナス値をゼロに

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

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

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

numpy.where関数を使っても同様の処理が可能です。

[スポンサードリンク]

where関数で1次元配列のマイナス値をゼロにするサンプル

以下のコードを実行すると、元の配列
  [1 -2 3 4 -5]
のマイナス値がゼロになった
  [1 0 3 4 0]
が出力されます。

import numpy as np
arr_org = np.array([1, -2, 3, 4, -5])
arr_new = np.where(arr_org < 0, 0, arr_org)
print(arr_new)

numpy.where関数は、第1引数に条件を指定し、
  arr_new = np.where(arr_org < 0, 0, arr_org)

Trueのときに第2引数の値、
  arr_new = np.where(arr_org < 0, 0, arr_org)

Falseのときに第3引数の値の
  arr_new = np.where(arr_org < 0, 0, arr_org)

ndarrayを返してくれます。
ExcelのIF関数と似たイメージで読むことができます。

上記のコードでは、条件「arr_org < 0」がTrueの場合、すなわちマイナスの値のときに第2引数に指定されている「0」に、マイナスの値ではないときに第3引数にarr_orgが指定されているため元の値のままとなります。

where関数で2次元配列のマイナス値をゼロにするサンプル

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

import numpy as np
arr2d_org = np.array([
    [1, 4, -7],
    [-2, 5, -8],
    [3, -6, 9]
])
arr2d_new = np.where(arr2d_org < 0, 0, arr2d_org)
print(arr2d_new)

上記のコードを実行すると、
  [[1 4 0]
  [0 5 0]
  [3 0 9]]
が出力されます。

最終更新日時:2020-10-18 11:23

[スポンサードリンク]

Home » Python » NumPyの使用例など » NumPyのwhere関数を使って配列のマイナス値をゼロに

TrackBack:0

TrackBack URL

Home » Python » NumPyの使用例など » NumPyのwhere関数を使って配列のマイナス値をゼロに

「NumPyの使用例など」の記事一覧

検索


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

.