Maison > développement back-end > Tutoriel Python > Comment extraire des éléments d'un tableau 2D à l'aide des indices d'un autre tableau ?

Comment extraire des éléments d'un tableau 2D à l'aide des indices d'un autre tableau ?

Mary-Kate Olsen
Libérer: 2024-11-09 11:40:02
original
1056 Les gens l'ont consulté

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

Utiliser un tableau NumPy comme indices pour la 2e dimension d'un autre tableau

Pour extraire des éléments spécifiques d'un tableau 2D en fonction des indices fournis par un deuxième tableau, vous pouvez tirer parti de l'indexation de tableau d'entiers de NumPy.

Considérez cet exemple :

A = np.array([[0,1], [2,3], [4,5]])
B = np.array([[1], [0], [1]], dtype='int')
Copier après la connexion

Pour obtenir le résultat souhaité suivant :

C = np.array([[1], [2], [5]])
Copier après la connexion

Vous pouvez utiliser le méthode suivante :

A[np.arange(A.shape[0]),B.ravel()]
Copier après la connexion

Comment ça marche :

  • np.arange(A.shape[0]) crée un tableau contenant des indices pour chaque ligne de A.
  • B.ravel() aplatit B, supprimant toutes les dimensions supplémentaires.
  • Le tableau d'index combiné [np.arange(A.shape[0]),B.ravel() ] spécifie les indices de ligne et de colonne dans A à extraire.

Alternativement, si B est un tableau 1D ou une liste d'indices de colonne, vous pouvez ignorer l'aplatissement avec .ravel() :

A[np.arange(A.shape[0]),B]
Copier après la connexion

Cette méthode fournit une approche simple pour extraire des éléments d'un tableau 2D à l'aide d'indices dérivés d'un autre tableau.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal