The data should be loaded in the same order, but of course you could verify it by comparing some random data samples.
np.delete should work fine on numpy arrays. Alternatively, you could also slice the arrays by creating a mask array and setting the values at remove_list to False:
mask = np.ones(len(arr), dtype=bool)
mask[remove_list] = False
data = self.data[mask]
The code snippet initializes a mask with True values for all entries first.
The second line of code then uses the remove_list indices to index mask and sets these values to False. In the last line of code self.data is indexed with mask and reassigned to data which will then contain all entries from self.data where mask was set to True.