Utilisation de l'indexation de tableaux d'entiers pour extraire des éléments basés sur des indices de tableaux secondaires
Dans le scénario donné, l'objectif est de récupérer des éléments spécifiques d'un tableau A utilisant des indices spécifiés dans un deuxième tableau B. Au lieu de s'appuyer sur np.take ou np.choose, une approche plus simple consiste à utiliser l'indexation de tableau d'entiers de NumPy :
A[np.arange(A.shape[0]),B.ravel()]
Voici comment ce code obtient le résultat souhaité :
Cette approche est particulièrement utile lorsque B est un tableau 1D ou une liste d'indices de colonnes. En sautant l'opération d'aplatissement, le code devient encore plus simple :
A[np.arange(A.shape[0]),B]
Exemple :
A = np.array([[0, 1], [2, 3], [4, 5]]) B = np.array([1, 0, 1]) result = A[np.arange(A.shape[0]), B] print(result) # Output: [1, 2, 5]
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3