ホームページ >バックエンド開発 >Python チュートリアル >NumPy で整数配列インデックスを使用して多次元配列から要素を抽出する方法

NumPy で整数配列インデックスを使用して多次元配列から要素を抽出する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-15 16:17:02333ブラウズ

How to Extract Elements from a Multidimensional Array Using Integer Array Indexing in NumPy?

整数配列のインデックス付けを使用した要素の抽出

多次元配列を操作する場合、多くの場合、インデックスに基づいて特定の要素を抽出する必要があります。 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。