У меня есть DataFrame сгенерированных случайных агентов. Однако я хочу расширить их, чтобы они соответствовали популяции, которую я ищу, поэтому мне нужно повторить строки в соответствии с моими выборочными индексами.
Вот код al oop, который занимает вечность:
df = pd.DataFrame({'a': [0, 1, 2]})
sampled_indexes = [0, 0, 1, 1, 2, 2, 2]
new_df = pd.DataFrame(columns=['a'])
for i, idx in enumerate(sampled_indexes):
new_df.loc[i] = df.loc[idx]
Затем исходный DataFrame:
df
a
0 0
1 1
2 2
дает мне результат увеличенного нового кадра данных
new_df
a
0 0
1 0
2 1
3 1
4 2
5 2
6 2
Итак, этот l oop слишком медленный с DataFrame, содержащий 34 000 или более строк (занимает вечность).
Как сделать это проще и быстрее?