У меня есть панда, которая выглядит следующим образом.
user Col1 Col2 Col3 Col4
user1 String11 String12 String13 1
user1 String11 String12 String13 2
user1 String11 String12 String13 3
user2 String11 String12 String13 4
user2 String11 String12 String13 5
user2 String11 String12 String13 6
user2 String11 String12 String13 7
user3 String11 String12 String13 7
user3 String11 String12 String13 8
user4 String11 String12 String13 3
user4 String11 String12 String13 1
user4 String11 String12 String13 1
user4 String11 String12 String13 1
user4 String11 String12 String13 5
Строки - все произвольные строки, так же как и числа.Я пытаюсь сгенерировать новый фрейм данных, в котором доля (случайная выборка) пользователей и доля записей Col2 и Col3 изменены на фиксированную строку (например, «ABCD»).
Я хотел бы указатьдве дроби f1 и f2.f1 - это доля пользователей, которую я хотел бы попробовать, а f2 - это доля записей в записях пользователя, которого я хотел бы изменить.
Вывод, который я надеюсь получить, примерно такой, f1= 0,4, f2 = 0,5.На 4 пользователей это 2 (1.6 округляется до 2).Внутри каждого пользователя 0,2 доли строк, чьи записи в Col2 и Col3 необходимо изменить.Предполагая, что user1 и user4 выбраны, 2 строки из user1 и 3 строки из user4 изменяются с данной строкой.Выбор строк в группе пользователей также должен быть случайным.
Вывод выглядит следующим образом
user Col1 Col2 Col3 Col4
user1 String11 ABCD ABCD 1
user1 String11 String12 String13 2
user1 String11 ABCD ABCD 3
user4 String11 ABCD ABCD 3
user4 String11 String12 String13 1
user4 String11 String12 String13 1
user4 String11 ABCD ABCD 1
user4 String11 ABCD ABCD 5
Я пытался разбить его на более мелкие части функциональности, но просто не могу обернутьмоя голова вокруг выхода.Я знаю, что должен использовать groupby и метод sample () от pandas, но это далеко, насколько я могу получить.Должно быть трудно понять, как соединить две выборки.