Die Verwendung von mehreren Ebenen boolean index-Maske in NumPy

Ich habe den folgenden code die erste wählt Elemente ein NumPy-array mit einem logischen index-Maske:

import numpy as np

grid = np.random.rand(4,4) 
mask = grid > 0.5

Ich möchte eine zweite boolean-Maske gegen diese eine herausgreifen Objekte mit :

masklength = len(grid[mask])
prob = 0.5
# generates an random array of bools
second_mask = np.random.rand(masklength) < prob 

# this fails to act on original object
grid[mask][second_mask] = 100

Dies ist nicht ganz das gleiche problem wie in dieser Frage ALSO:
Numpy-array, wie wählen Indizes befriedigend mehreren Bedingungen? - so wie ich bin mit Zufallszahl-generation, ich will nicht zu haben, um zu generieren, eine vollständige Maske, die nur die Elemente ausgewählt, die durch die erste Maske.

InformationsquelleAutor Hemmer | 2011-08-24
Schreibe einen Kommentar