Я хотел бы эффективно скопировать каждую n-ю строку np.memmap
в другую np.memmap
с минимальными перегрузками памяти.
Я пробовал это:
mat = np.memmap(input_file, mode='r')
out_mat = np.memmap(output_file, mode='w+', shape=mat[::every_nth_sample].shape)
out_mat[:] = mat[::every_nth_sample]
И этозагружает весь мат в память.
Я также попробовал это:
mat = np.memmap(input_file, mode='r')
out_mat = np.memmap(output_file, mode='w+', shape=mat[::every_nth_sample].shape)
for i, r in enumerate(mat[::every_nth_sample]):
out_mat[i,:] = r
И, похоже, это занимает слишком много времени.Есть ли лучший способ?