ホームページ バックエンド開発 Python チュートリアル NumPy で複数の配列にインデックスを付けるにはどうすればよいですか?

NumPy で複数の配列にインデックスを付けるにはどうすればよいですか?

Nov 10, 2024 am 12:34 AM

How to Index Multiple Arrays in NumPy?

NumPy での複数の配列のインデックス付け

NumPy では、1 次元配列を超えるインデックス付けには高度なテクニックが必要です。 1 つのシナリオは、多次元インデックスとして知られる、別の配列の値に基づいて 1 つの配列にインデックスを付けることです。

任意の値を持つ行列 A を考えます:

array([[ 2, 4, 5, 3],
       [ 1, 6, 8, 9],
       [ 8, 7, 0, 2]])
ログイン後にコピー

および行列 B の要素のインデックスを含むA:

array([[0, 0, 1, 2],
       [0, 3, 2, 1],
       [3, 2, 1, 0]])
ログイン後にコピー

B のインデックスを使用して A から値を選択するには、NumPy の高度なインデックス作成を使用できます。

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

このインデックス付けアプローチでは、行インデックス (0、1、 2) B で指定されたインデックスを使用します。

または、線形インデックスを使用することもできます。

m,n = A.shape
out = np.take(A,B + n*np.arange(m)[:,None])
ログイン後にコピー

ここで、m と n は行と列の数を表します。それぞれAにあります。 np.take() は、B と n の合計に行インデックスの範囲を乗算して生成された線形インデックスに基づいて、A から要素を抽出します。

この手法を使用すると、出力は次のようになります:

[[2, 2, 4, 5],
 [1, 9, 8, 6],
 [2, 0, 7, 8]]
ログイン後にコピー

このインデックス付け方法により、要素へのアクセスと操作が柔軟になります。複数の基準に基づいて、複雑なデータ処理シナリオに対する NumPy 配列の汎用性を高めます。

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

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLを解析するために美しいスープを使用するにはどうすればよいですか? HTMLを解析するために美しいスープを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:54 PM

HTMLを解析するために美しいスープを使用するにはどうすればよいですか?

Pythonでの画像フィルタリング Pythonでの画像フィルタリング Mar 03, 2025 am 09:44 AM

Pythonでの画像フィルタリング

Pythonを使用してテキストファイルのZIPF配布を見つける方法 Pythonを使用してテキストファイルのZIPF配布を見つける方法 Mar 05, 2025 am 09:58 AM

Pythonを使用してテキストファイルのZIPF配布を見つける方法

Pythonを使用してPDFドキュメントの操作方法 Pythonを使用してPDFドキュメントの操作方法 Mar 02, 2025 am 09:54 AM

Pythonを使用してPDFドキュメントの操作方法

DjangoアプリケーションでRedisを使用してキャッシュする方法 DjangoアプリケーションでRedisを使用してキャッシュする方法 Mar 02, 2025 am 10:10 AM

DjangoアプリケーションでRedisを使用してキャッシュする方法

TensorflowまたはPytorchで深い学習を実行する方法は? TensorflowまたはPytorchで深い学習を実行する方法は? Mar 10, 2025 pm 06:52 PM

TensorflowまたはPytorchで深い学習を実行する方法は?

Pythonオブジェクトのシリアル化と脱介入:パート1 Pythonオブジェクトのシリアル化と脱介入:パート1 Mar 08, 2025 am 09:39 AM

Pythonオブジェクトのシリアル化と脱介入:パート1

Pythonで独自のデータ構造を実装する方法 Pythonで独自のデータ構造を実装する方法 Mar 03, 2025 am 09:28 AM

Pythonで独自のデータ構造を実装する方法

See all articles