Home » Python » NumPyの使用例など » NumPyで配列のマイナス値をゼロに

NumPyで配列のマイナス値をゼロに

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

「numpy 0以下を0にする」
「numpy マイナスの値をゼロ」
といった検索キーワードでアクセスがありました。

PythonのライブラリNumPyで、配列内に存在するマイナスの値をゼロにするには、どのようなコードを書けばいいのかを探していた方による検索でしょう。

[スポンサードリンク]

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

いくつかの方法がありますが、元の配列を変更していいのなら、以下のようなコードでしょうか。

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

上記のコードを実行すると
  [1 0 3 4 0]
と出力されます。元の、numpy.ndarray
  [1 -2 3 4 -5]
の中の、マイナスの値「-2」「-5」が、「0」になっています。

もちろん、マイナスの値をゼロにしているのは、
  arr[arr < 0] = 0
の行です。一旦、
  arr = np.array([1, -2, 3, 4, -5])
を再度実行してから、
  print(arr < 0)
を実行してみてください。
  [False True False False True]
と出力されることを確認すると、
  arr[arr < 0] = 0
で、配列のマイナスの値がゼロになることがわかるのと共に、NumPyの便利さを感じられるのではないかと思います。

less関数を使う場合

上記の、
  arr[arr < 0] = 0
は、NumPyのless関数を使って、
  arr[np.less(arr, 0)] = 0
と書くこともできます。

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

2次元配列の場合も、同じ考え方でOKです。

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

上記のコードを実行すると、元のnumpy.ndarray
  [[ 1 4 -7]
   [-2 5 -8]
  [ 3 -6 9]]
のマイナス値がゼロになった、
  [[1 4 0]
  [0 5 0]
  [3 0 9]]
が出力されます。

最終更新日時:2020-10-14 13:21

[スポンサードリンク]

Home » Python » NumPyの使用例など » NumPyで配列のマイナス値をゼロに

TrackBack:0

TrackBack URL

Home » Python » NumPyの使用例など » NumPyで配列のマイナス値をゼロに

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

検索


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

.