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')
Pour obtenir le résultat souhaité suivant :
C = np.array([[1], [2], [5]])
Vous pouvez utiliser le méthode suivante :
A[np.arange(A.shape[0]),B.ravel()]
Comment ça marche :
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]
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!