n_data = 1000000
n_slices = 10000
data = np.arange(n_data)
slices = []
for i in range(n_slices):
    r = np.random.randint(n_data - 1000)
slices.append(slice(r, r + np.random.randint(1000)))
keep_mask = np.ones_like(data, dtype=bool)
for slice in slices:
    keep_mask[slice] = False
data = data[keep_mask]
Удаление нескольких фрагментов из массива numpy