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

Mary-Kate Olsen
リリース: 2024-11-15 16:17:02
オリジナル
247 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート