Maison >développement back-end >Tutoriel Python >Comment indexer un tableau NumPy 2D à l'aide de deux listes d'index ?
Pour indexer un tableau NumPy 2D à l'aide de deux listes d'index, de tableaux, nous pouvons utiliser la fonction np.ix_ en conjonction avec des tableaux d'indexation.
<code class="python">x_indexed = x[np.ix_(row_indices, col_indices)]</code>
Alternativement, nous pouvons utiliser np.ix_ avec des masques booléens pour sélectionner et indexer le tableau :
<code class="python">row_mask = [0, 1, 1, 0, 0, 1, 0] col_mask = [1, 0, 1, 0, 1, 1, 0, 0] x_indexed = x[np.ix_(row_mask, col_mask)]</code>
Considérons l'exemple suivant :
<code class="python">import numpy as np x = np.random.randint(0, 6, (20, 8)) row_indices = [4, 2, 18, 16, 7, 19, 4] col_indices = [1, 2]</code>
Pour indexer x à l'aide des listes fournies, nous pouvons utiliser l'une ou l'autre méthode :
<code class="python"># Using np.ix_ with indexing arrays x_indexed = x[np.ix_(row_indices, col_indices)] # Using np.ix_ with masks row_mask = np.isin(np.arange(x.shape[0]), row_indices) col_mask = np.isin(np.arange(x.shape[1]), col_indices) x_indexed = x[np.ix_(row_mask, col_mask)]</code>
Les deux méthodes donneront le tableau indexé souhaité :
<code class="python">>>> x_indexed array([[76, 56], [70, 47], [46, 95], [76, 56], [92, 46]])</code>
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!