Pythonの数値計算ライブラリNumPyの配列型データ構造であるndarrayの要素に対して、条件に合うもののみ演算を行う場合whereを用いる。
Numpyを使う際にはimportが必要。しばしば次のようにnpと略されてインポートされる。
import numpy as np
1. whereの書式
whereの書式は以下。conditionに条件式を書き、条件が適合する要素に対して処理xが実行され、それ以外に対しては処理yが実行される。condition, x, yいずれも必須の引数。
numpy.where(condition, [x, y, ]/)
2. whereの例
一次元ndarrayの要素が5以上の場合、値を10倍する例。
import numpy as np a = np.arange(10) b = np.where(a < 5, a, 10*a) print(b)
実行結果
[ 0 1 2 3 4 50 60 70 80 90]
二次元ndarrayの場合。conditionがTrueの場合、x、Falseの場合、yの値が用いられる。
import numpy as np a = np.array([[True, False], [True, True]]) print(np.where(a, [[1, 2], [3, 4]], [[9, 8], [7, 6]]))
実行結果
[[1 8] [3 4]]
3. リファレンス
使用バージョン:Python 3.10.4/numpy 1.22.3
0 件のコメント:
コメントを投稿