ホームページ >バックエンド開発 >Python チュートリアル >高度な NumPy テクニックを使用して配列に効率的にインデックスを付けるにはどうすればよいですか?

高度な NumPy テクニックを使用して配列に効率的にインデックスを付けるにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-16 15:51:03917ブラウズ

How to Efficiently Index Arrays with Advanced NumPy Techniques?

高度な NumPy テクニックによる配列のインデックス付け

さまざまな計算シナリオでは、ある配列の値に基づいて別の配列のインデックスを付けることが必要になります。任意の値を持つ A とインデックスを含む B という 2 つの行列がある例を考えてみましょう。目的は、B のインデックスによって決定される A から値を選択することです。

これを実現するために、NumPy はさまざまなインデックス付け方法を提供します。

1.高度なインデックス作成:

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

このインデックス作成アプローチは、np.arange を使用して新しい配列を初期化し、各行の列インデックスを作成します。次に、これらの行インデックスを最初の次元として使用し、B の値を 2 番目の次元として使用して、A.

2 から値を抽出します。線形インデックス:

m, n = A.shape
out = np.take(A, B + n * np.arange(m)[:, None])

または、mnA の形状を表す線形インデックスを使用することもできます。 。 np.take を使用して、結合された配列 B と、nnp.arange の行インデックスを乗算して作成されたインデックス オフセットに基づいて要素を選択します。 .

以上が高度な NumPy テクニックを使用して配列に効率的にインデックスを付けるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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