NumPy: Comment filtrer les lignes de la matrice

Je suis nouveau sur numpy et de la difficulté à essayer de filtrer un sous-ensemble de l'échantillon.

J'ai une matrice de la forme (1000, 12). C'est, d'un millier d'échantillons, avec 12 colonnes de données dans chaque. Je suis prêt à créer deux matrices, l'une avec toutes les valeurs aberrantes dans l'échantillon, et de l'autre avec tous les éléments qui ne sont pas des valeurs aberrantes; Les matrices résultantes devrait avoir cette forme:

norm.shape     = (883, 12)
outliers.shape = (117, 12)

Pour identifier une valeur aberrante, je suis en utilisant cette condition:

cond_out  = (dados[0:,RD_EVAL] > _max_rd) | (dados[0:,DUT_EVAL] > _max_dut)

Qui est, pour chaque ligne de la matrice, je suis à la recherche pour les valeurs de deux colonnes. Si l'un d'entre eux est au-dessus d'un certain seuil, puis la ligne est considéré comme atypique. Le point est, cette condition a une forme (1000,), donc quand je compresse la matrice d'origine, je reçois un (117,) résultat. Comment ai-je pu filtrer la matrice de sorte que le résultat serait (117,12), c'est une matrice dont toutes les lignes qui sont des valeurs aberrantes, mais avec toutes les colonnes de données dans chacun d'eux?

OriginalL'auteur | 2012-08-14