Во-первых, я хочу взять случайные выборки из трех кадров данных (по 150 строк в каждом) и объединить результаты.Во-вторых, я хочу повторить этот процесс как можно больше раз.
Для части 1 я использую следующую функцию:
def get_sample(n_A, n_B, n_C):
A = df_A.sample(n = n_A, replace=False)
B = df_B.sample(n = n_B, replace=False)
C = df_C.sample(n = n_C, replace=False)
return pd.concat([A, B, C])
Для части 2 я использую следующую строку:
results = [get_sample(5,5,3) for i in range(n)]
В настоящее время с n = 50.000
анализ занимает около 1 минуты и 40 секунд на моем MacBook.Любые советы о том, как повысить скорость этого процесса, приветствуются!
PM Три кадра данных (df_A, df_B, df_C) отличаются только одной категориальной функцией.Сложность в том, что мне нужно конкретное количество образцов из каждой категории.