ホームページ  >  記事  >  バックエンド開発  >  別の配列のインデックスを使用して NumPy の配列要素にアクセスする方法は?

別の配列のインデックスを使用して NumPy の配列要素にアクセスする方法は?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-11 02:03:02709ブラウズ

How to Access Array Elements in NumPy Using Indices from Another Array?

NumPy の配列インデックスを使用した配列要素へのアクセス

NumPy のインデックス付き関数は、1 つの配列から要素を選択する機能など、強力なデータ操作テクニックを提供します。別の配列で指定されたインデックスを使用します。これを実現するには:

アプローチ 1: 高度なインデックス作成を使用する

A[np.arange(A.shape[0])[:,None] ,B]<br>

このコードは高度なインデックス付けを利用しており、np.arange(A.shape[0])[:,None] は、各行のインデックスを持つ列ベクトルを作成します。 A. これを B と組み合わせると、行と列の両方に沿って A のインデックスを作成できます。

アプローチ 2: 線形インデックス作成

m,n = A.shape<br>np.take(A,B n*np.arange(m)[:,None])<br>

このアプローチでは、A の各要素がアドレス指定される線形インデックスを利用します。単一のインデックスによって。まず、np.arange を使用して生成された線形シーケンスに B の対応する行を追加することで、線形インデックスを計算します。この線形インデックスは、A から要素を取得するために使用されます。

使用例:

指定された行列 A:

array([[ 2, 4, 5, 3],
       [ 1, 6, 8, 9],
       [ 8, 7, 0, 2]])

インデックス行列 B :

array([[0, 0, 1, 2],
       [0, 3, 2, 1],
       [3, 2, 1, 0]])

アプローチを適用すると、望ましい結果が得られます:

array([[2, 2, 4, 5],
       [1, 9, 8, 6],
       [2, 0, 7, 8]])

以上が別の配列のインデックスを使用して NumPy の配列要素にアクセスする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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