Derzeit ich mehrere Scheiben am Zugriff auf wie folgt:Wie greifen Sie effizient mehrere Scheiben von numpy Array
Zuerst habe ich zuteilen ein Array, das viele Male
X = np.zeros((batch_size, window, 5))
Dies ist die neu zugeordnet werden Zuordnung Schleife, die mehrfach ausgeführt werden wird (batch_indices
hat verschiedene Indizes jedes Mal, aber die gleiche Form):
for i, b in enumerate(batch_indices):
X[i] = Xs[b:b+window]
gibt es eine effizientere Art und Weise? Ich fühle mich wie es sollte auf ähnliche Syntax werden:
X = Xs[ [slice(b,b+window) for b in batch_indices] ]
Während die Form von Xs
2-dimensional ist, sollte die endgültige Form von X eine 3-dimensionalen np.array sein. Stellen Sie sich Folgendes vor: Xs
ist eine lange multidimensionale Zeitreihe, und X muss ein numpliges Array sein, das viele Schichten der multidimensionalen Zeitreihe enthält.
Haben Sie [Anzahl Iterationen] (https://docs.scipy.org/doc/numpy/reference/arrays.nditer.html) untersucht? –
haben Sie boolesche Indizes versucht? einen Leistungscheck wert ... – Raf
Hat die veröffentlichte Lösung für Sie funktioniert? – Divakar