Indexation de tableaux avec des techniques NumPy avancées
Dans divers scénarios de calcul, il devient nécessaire d'indexer un tableau en fonction des valeurs d'un autre. Prenons l'exemple où nous avons deux matrices : A avec des valeurs arbitraires et B contenant des indices. L'objectif est de sélectionner des valeurs dans A telles que déterminées par les indices dans B.
Pour y parvenir, NumPy propose différentes méthodes d'indexation :
1. Indexation avancée :
A[np.arange(A.shape[0])[:, None], B]
Cette approche d'indexation initialise un nouveau tableau à l'aide de np.arange pour créer un index de colonne pour chaque ligne. Ensuite, il utilise ces indices de ligne comme première dimension et les valeurs de B comme deuxième dimension pour extraire les valeurs de A.
2. Indexation linéaire :
m, n = A.shape out = np.take(A, B + n * np.arange(m)[:, None])
Vous pouvez également utiliser l'indexation linéaire, où m et n représentent la forme de A . Il utilise np.take pour sélectionner des éléments en fonction du tableau combiné B et des décalages d'index créés en multipliant n avec les indices de ligne de np.arange .
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!