別の配列のインデックスを使用して 2D 配列から要素を抽出するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-09 11:40:02
オリジナル
1035 人が閲覧しました

How to Extract Elements from a 2D Array Using Indices from Another Array?

別の配列の 2 次元のインデックスとして NumPy 配列を使用する

によって提供されるインデックスに基づいて 2D 配列から特定の要素を抽出するには2 番目の配列では、NumPy の整数配列を活用できます。

次の例を考えてみましょう:

A = np.array([[0,1], [2,3], [4,5]])
B = np.array([[1], [0], [1]], dtype='int')
ログイン後にコピー

次の目的の出力を取得するには:

C = np.array([[1], [2], [5]])
ログイン後にコピー

次のメソッドを使用できます:

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

どうやって動作:

  • np.arange(A.shape[0]) は、A の各行のインデックスを含む配列を作成します。
  • B.ravel() は B を平坦化します。追加の次元を削除します。
  • 結合されたインデックス配列[np.arange(A.shape[0]),B.ravel()] は、抽出する A の行と列のインデックスを指定します。

あるいは、B が 1D 配列またはリストの場合列インデックスの場合、.ravel() を使用してフラット化をスキップできます:

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

このメソッドは、要素を抽出するための簡単なアプローチを提供します。別の配列から派生したインデックスを使用して 2D 配列から取得します。

以上が別の配列のインデックスを使用して 2D 配列から要素を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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