Si vous êtes un utilisateur R, les opérations suivantes sont aussi courantes que la respiration. Avec cela, les éléments à l'exclusion des indices spécifiques peuvent être extraits.
vec <- 1:10
ind_rm <- c(5, 7)
# ind_Extraire des éléments en spécifiant un index autre que rm
print(vec[-ind_rm])
[1] 1 2 3 4 6 8 9 10
De manière inattendue, je ne peux pas penser à une façon intelligente de le faire avec numpy. Je pense que tout le monde est en difficulté. Je suis triste si je suis le seul.
Après tout, il semble que l'idée de quelque chose d'autre qu'un élément spécifique comme R soit fausse en premier lieu, alors réfléchissons à la façon de créer un tableau ou une liste qui comprend les indices des éléments qui sont laissés docilement.
Si je le fais docilement, je me sens comme ça, mais je ne peux pas m'empêcher de penser que quelque chose «en» est évidemment inutile.
import numpy as np
vec = np.arange(10)
ind_rm = [5, 7]
# [0, 1, 2, 3, 4, 6, 8, 9]Veux faire!
ind = [i for i in range(10) if i not in ind_rm]
print vec[ind]
Vérifiez avec le débordement de pile J'ai été un peu impressionné par la méthode suivante.
import numpy as np
vec = np.arange(10)
ind_rm = [5, 7]
# [True, True, True, True, False, True, False, True, True, True]Politique à faire
ind = np.ones(10, dtype=bool)
ind[ind_rm] = False
print vec[ind]
Cela ne sauve pas le nombre de lignes, mais cela semble être un peu plus rapide car il n'y a pas de calcul inutile.
J'ai d'abord appris que np.ones
avait un tel usage.
Vous cherchez un meilleur moyen.
Recommended Posts