Numpy / Python: Array-Iteration ohne for-Schleife
Es ist also eine weitere Frage zu n-dimensionalen Arrays: Ich möchte in der Lage sein, jeden Wert in einem n-dimensionalen Array mit seinen Nachbarn zu vergleichen. Wenn zum Beispiel a das zweidimensionale Array ist, möchte ich Folgendes überprüfen können:
a[y][x]==a[y+1][x]
für alle elemente. Überprüfen Sie also grundsätzlich alle Nachbarn in allen Dimensionen. Im Moment mache ich das über:
for x in range(1,a.shape[0]-1):
do.something(a[x])
Die Form des Arrays wird verwendet, damit ich an den Rändern nicht auf einen Index außerhalb des Bereichs stoße. Wenn ich also so etwas in n-D für alle Elemente im Array machen möchte, brauche ich n for-Schleifen, was unordentlich zu sein scheint. Gibt es eine Möglichkeit, dies über das Schneiden zu tun? Sowas wie a == a [:, - 1 ,:] oder verstehe ich das völlig falsch? Und gibt es eine Möglichkeit, einem Slice zu sagen, dass er am Ende anhalten soll? Oder gäbe es eine andere Idee, die Dinge auf eine ganz andere Weise zum Laufen zu bringen? Maskierte Arrays? Grüße Joni