Indexer un tableau par un autre dans NumPy
En informatique scientifique, la manipulation de tableaux multidimensionnels est une tâche courante. Les capacités d'indexation avancées de NumPy fournissent un outil puissant pour les opérations d'indexation complexes, facilitant l'extraction de données d'un tableau en fonction des valeurs d'index stockées dans un autre tableau.
Considérez une matrice A avec des valeurs arbitraires et une matrice B contenant des indices d'éléments dans A. La tâche consiste à sélectionner des valeurs parmi A pointé par B, ce qui donne une matrice C.
Une approche pour y parvenir consiste à utiliser NumPy. avancé indexing:
C = A[np.arange(A.shape[0])[:, None], B]
Cette approche fonctionne efficacement sur de grands tableaux sans avoir besoin de boucles.
L'indexation linéaire fournit une autre méthode pour cette opération :
m, n = A.shape C = np.take(A, B + n * np.arange(m)[:, None])
Les deux l'indexation avancée et l'indexation linéaire offrent des méthodes efficaces pour indexer un tableau par un autre dans NumPy.
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!