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

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

Patricia Arquette
リリース: 2024-11-10 00:34:02
オリジナル
1044 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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