digamos que tengo una secuencia s
y me gustaría seleccionar n
subsecuencias aleatorias de cada una con longitud l
y almacenarlas en una matriz. ¿Hay una manera más numerosa de hacer eso que
s = np.arange(0, 1000) n = 5 l = 10 i = np.random.randint(0, len(s)-10, 5) ss = np.array([s[x:x+l] for x in i])
Podemos aprovechar np.lib.stride_tricks.as_strided
scikit-image's view_as_windows
para una extracción de parches eficiente, como por ejemplo:
from skimage.util.shape import view_as_windows # Get sliding windows (these are simply views) w = view_as_windows(s, l) # Index with indices, i for desired output out = w[i]
Relacionado :
NumPy Fancy Indexing – Recorte diferentes ROI de diferentes canales
Tome N primeros valores de cada fila en la matriz NumPy que cumplan la condición
Selección de ventanas aleatorias de filas de matrices numpy multidimensionales