import numpy as np from collections import Counter, deque def bootstrap(m, nsample, resample_len, nresamples, f): whole_sample = np.zeros(nsample) whole_sample[m:] = 1 results = deque() for _ in range(nresamples): sample = np.random.choice(whole_sample, resample_len) results.append(f(sample)) results = np.array(results).astype(np.double) return np.std(results)