У меня есть фрейм данных с данными, которые я передаю в библиотеку ML на python. Данные, которые я имею, подразделяются на 5 различных задач: t1, t2, t3, t4, t5. Данные, которые у меня есть сейчас для каждой задачи, являются неравномерными, для упрощения приведем пример.
task, someValue
t1, XXX
t1, XXX
t1, XXX
t1, XXX
t2, XXX
t2, XXX
В приведенном выше случае я хочу удалить случайные строки с меткой задачи «t1», пока не будет равно «t1», как «t2»
Поэтому после запуска кода он должен выглядеть следующим образом:
task, someValue
t1, XXX
t1, XXX
t2, XXX
t2, XXX
Какой самый чистый способ сделать это? Я мог бы, конечно, просто сделать для циклов и, если условия и использовать случайные числа и подсчитать вхождения для каждой итерации, но это решение не будет очень элегантным. Наверняка должен быть способ использования функций датафрейма? Пока что вот что я получил:
def equalize_rows(df):
t = df['task'].value_counts()
mininmum_occurance = min(t)