numpy.where
は、条件に基づいて配列から要素を選択するためのNumPy関数です。この関数は、条件が真である場合にはx
から、そうでない場合にはy
から要素を選択します。
基本的な使用法
以下に基本的な使用法を示します。
import numpy as np
# 配列の作成
a = np.arange(10)
# where関数の使用
np.where(a < 5, a, 10*a)
このコードでは、配列a
の各要素が5未満であればそのままの値を、そうでなければその値の10倍を新しい配列に格納します。
多次元配列での使用
numpy.where
関数は多次元配列でも使用できます。
import numpy as np
# 多次元配列でのwhere関数の使用
np.where([[True, False], [True, True]], [[1, 2], [3, 4]], [[9, 8], [7, 6]])
このコードでは、条件が真である場合には第二引数の配列から、そうでない場合には第三引数の配列から要素を選択します。
ブロードキャスト
numpy.where
関数は、x
、y
、および条件が一緒にブロードキャストされる形状になる必要があります。
import numpy as np
# ブロードキャストの例
x, y = np.ogrid[:3, :4]
np.where(x < y, x, 10 + y)
このコードでは、x
と10+y
の両方がブロードキャストされます。
以上がnumpy.where
関数の基本的な使用法となります。この関数を使うことで、条件に基づいて配列から要素を選択することが可能になります。.