webで調べても、なかなかバチッと内容が検索できなかったのでメモ(マジで短いっす、、)
知りたいこと
>> import numpy as np
>> np.where(A>5, 1, -1)
なるコードがあって、?と思った
動かしてみる
まずは準備
>> import numpy as np
### まずは配列を作りますね
>> A = np.arange(10,0,-1)
### 内容確認
>> A
array([10, 9, 8, 7, 6, 5, 4, 3, 2, 1])
確認!
### 内側から確認してきましょう
>> A>5
[ True True True True True False False False False False]
### -> 条件を満たせばTrue、満たさなければFalseを返すんですね
### whereをかましてみる
>> np.where(A>5)
(array([0, 1, 2, 3, 4]),)
### -> 条件を満たす要素が取り出せましたね。
### さて、お題の内容
>> np.where(A>5, 1, -1)
array([ 1, 1, 1, 1, 1, -1, -1, -1, -1, -1])
### -> 条件を満たせたら2つ目の引数の値"1"を、満たせなかったら3つ目の引数の値"-1"を返すっぽい
### ↑の内容を念のため他の値で確認
>> np.where(A>5,2,0)
array([2, 2, 2, 2, 2, 0, 0, 0, 0, 0])
### -> 合ってたっぽいですね。
```
SQLの`where`句のような感じですかね?(違うかな?!)
# Reference
- 公式ドキュメント:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html
↑今回の記事をベースにすると、少しは理解が進みますかね?!