整数配列のインデックス付けを使用した要素の抽出
多次元配列を操作する場合、多くの場合、インデックスに基づいて特定の要素を抽出する必要があります。 NumPy では、これを実現するためにさまざまなテクニックを使用できます。そのような方法の 1 つは、整数配列のインデックス付けを使用することです。
次の例を考えてみましょう:
A = np.array([[0,1], [2,3], [4,5]]) B = np.array([[1], [0], [1]])
私たちの目標は、A の要素を含む新しい配列 C を作成することです。ここで、各要素の行インデックスは要素は A.shape[0] によって与えられ、列インデックスは B の分解されたバージョンによって与えられます。つまり、C は次のようになります。 be:
C = np.array([[1], [2], [5]])
1 つのアプローチは、次のように整数配列のインデックスを使用することです。
A[np.arange(A.shape[0]),B.ravel()]
このアプローチでは、arange 関数を使用して A の行のインデックスの範囲を生成し、結合します。 B の分解バージョンを使用して列インデックスを作成します。結果は、必要な要素を含む新しい配列です。
# Sample run print(A) print(B) print(A[np.arange(A.shape[0]),B.ravel()])
出力:
[[0 1] [2 3] [4 5]] [[1] [0] [1]] [1 2 5]
B が 1D 配列であるか、 list を使用すると、.ravel() を使用して平坦化操作をスキップできます。
以上がNumPy で整数配列インデックスを使用して多次元配列から要素を抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。