ホームページ > バックエンド開発 > Python チュートリアル > 整数配列のインデックス付けを使用して、別の配列のインデックスに基づいて配列から要素を抽出する方法

整数配列のインデックス付けを使用して、別の配列のインデックスに基づいて配列から要素を抽出する方法

Linda Hamilton
リリース: 2024-11-09 02:55:02
オリジナル
863 人が閲覧しました

How to Extract Elements from an Array Based on Indices in Another Array Using Integer Array Indexing?

整数配列インデックスを利用して、セカンダリ配列インデックスに基づいて要素を抽出する

指定されたシナリオの目標は、配列から特定の要素を取得することです。 2 番目の配列 B で指定されたインデックスを使用する配列 A。 np.take または np.choose に依存する代わりに、より単純なアプローチNumPy の整数配列インデックスを使用することです:

A[np.arange(A.shape[0]),B.ravel()]
ログイン後にコピー

このコードが望ましい結果を達成する方法は次のとおりです:

  • np.arange(A.shape[0]) は次の配列を作成します。 0 から (A.shape[0] - 1) までのインデックス。次の行を表します。 A.
  • B.ravel() は B を 1 次元配列に平坦化し、A の行と同じ数の要素を持つようにします。
  • インデックス操作 A[... ] は、B の行インデックスと列インデックスを使用して A から要素を取得します。

このアプローチは、B が 1D 配列またはリストである場合に特に便利です。列インデックスの。平坦化操作をスキップすると、コードはさらに単純になります:

A[np.arange(A.shape[0]),B]
ログイン後にコピー

例:

A = np.array([[0, 1], [2, 3], [4, 5]])
B = np.array([1, 0, 1])

result = A[np.arange(A.shape[0]), B]

print(result)
# Output: [1, 2, 5]
ログイン後にコピー

以上が整数配列のインデックス付けを使用して、別の配列のインデックスに基づいて配列から要素を抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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