Angenommen, ich habe ein 3x3x3-Nummernfeld mit
definiert %Vor% Nun kann ich ein Array mit dem (0,1) -Element jedes 3x3-Unterarrays mit x[:, 0, 1]
erhalten, das array([ 1, 10, 19])
zurückgibt. Was ist, wenn ich ein Tupel (m, n) habe und das (m, n) Element jedes in einem Tupel gespeicherten Unterarrays (0,1) abrufen möchte?
Angenommen, ich habe t = (0, 1)
. Ich habe versucht, x[:, t]
, aber es hat nicht das richtige Verhalten - es gibt die Zeilen 0 und 1 jedes Subarrays. Die einfachste Lösung, die ich gefunden habe, ist
Aber ich bin mir sicher, dass es einen besseren Weg geben muss. Natürlich könnte ich in diesem Fall x[:, t[0], t[1]]
machen, aber das kann nicht für den Fall verallgemeinert werden, in dem ich nicht weiß, wie viele Dimensionen x
und t
haben.
HYRY-Lösung ist korrekt, aber ich habe immer festgestellt, dass numpys r_
, c_
und s_
Index-Tricks etwas seltsam aussehen. Also hier ist das Äquivalent mit einem slice
-Objekt:
Das einzige Argument zum Slice ist die Stopp-Position (d. h. None
bedeutet alles auf die gleiche Weise wie x[:]
entspricht x[None:None]
)
Tags und Links python arrays indexing numpy multidimensional-array