Maison > Article > développement back-end > Comment sélectionner efficacement des colonnes spécifiques par ligne dans NumPy à l'aide de listes ou de tableaux booléens ?
Sélection efficace de colonnes spécifiques par ligne dans NumPy à l'aide de listes ou de tableaux booléens
NumPy offre des fonctionnalités étendues pour manipuler des tableaux multidimensionnels. Cependant, la sélection de colonnes spécifiques en fonction d'une liste d'index pour chaque ligne peut s'avérer difficile et exiger des solutions efficaces.
Une approche pour résoudre ce problème consiste à utiliser des tableaux booléens. Chaque colonne d'un tableau booléen peut représenter la sélection souhaitée pour une ligne particulière. En utilisant la sélection directe avec le tableau booléen, des colonnes spécifiques peuvent être extraites efficacement. Par exemple :
<code class="python">import numpy as np a = np.array([1, 2, 3]) b = np.array([[False, True, False], [True, False, False], [False, False, True]]) a[b] # Output: [2, 4, 9]</code>
Alternativement, il est possible de créer un tableau représentant la plage de colonnes et d'utiliser la sélection directe dessus. Cette approche, cependant, n'est pas toujours optimale.
<code class="python">a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) a[np.arange(len(a)), [1, 0, 2]] # Output: [2, 4, 9]</code>
En tirant parti de ces méthodes, il est possible de sélectionner efficacement des colonnes spécifiques par ligne dans les tableaux NumPy, que les critères de sélection soient fournis ou non sous la forme d'une liste de des index ou un tableau booléen.
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!