Given the following Python data structures:  There are the same number of rows in df as there are values in labels.
df = 
[[0.003 0.9238 0.3882 0.3823]
[0.0383 0.2382 0.8328 0.3823]
...
[0.723 0.3282 0.1372 0.3723]]
labels = [0 1 0 0 ... 2]
I have a score function, which, given a df and its labels, calculates the value of a metric. The problem is that it is not scalable and I want to approximate its result by averaging from random draws of 100 individuals.
seed = 12345
N = 5
score_sum = 0
# Make Perform N times and average 
for i in range(0, N):
   # Suffle df and labels in the same way and select 100 points
   score_sum += score(subset_df, subset_labels)
score_sum = score_sum / N
Indicate that after shuffle, the same index need to be selected for df and labels.
 
    