Python(numpy)における配列内での判定のコードの意味につきまして


pythonのコードを見ていて下記のようなコードを見たのですが、
outimg[outimg < 0] = 0

http://uzusayuu.hatenadiary.jp/entry/2018/09/23/162412

これは、outimg[]の配列に対して負の要素は、0初期化するという意味なのでしょうか?
また、このような記述方法はpython(numpy?)特有の記述の仕方なのでしょうか?

軽く調べたのですが、うまく見つけられなかったのでご教授いただけると助かります。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2020/04/14 00:25:30

ベストアンサー

id:tobeoscontinue No.1

回答回数219ベストアンサー獲得回数58

ポイント100pt
import numpy as np
>>> dat = np.array([1,-2,3])
>>> dat
array([ 1, -2,  3])
>>> dat < 0
array([False,  True, False])
>>> dat[dat < 0 ] = 0
>>> dat
array([1, 0, 3])

>> outimg[]の配列に対して負の要素は、0初期化するという意味なのでしょうか?
いいと思います。
https://hydrocul.github.io/wiki/numpy/ndarray-ref-boolean.html
配列の各要素に対して比較してその真偽の配列が返され、Trueの要素だけが代入されます。

>> python(numpy?)特有の記述の仕方なのでしょうか?
普通の配列に対して同じように記述するとエラーになるのでnumpy特有のようです。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません