У меня есть фрейм данных с категориальной переменной, где размеры групп меняются. В каждой группе категориальной переменной я хочу назначить случайное число от 1 до 10. Я создаю столько случайных чисел от 1 до 10, сколько записей в определенной группе c. Чтобы назначить случайное число, я сделал простую функцию под названием createrandomnum
.
Затем я использовал эту строку кода:
grouped_vales = data.groupby("categories").categories.agg(newnumber = createrandomnum)
Тогда выводом является фрейм данных, где каждая строка представляет категорию. Столбец с именем 'newnumber' содержит списки с номерами от 1 до 10. Длина списка соответствует размерам групп в исходном фрейме данных.
Я хотел бы добавить эти числа в свой исходный фрейм данных. То, какой номер выделен, какой записи не так важно, если категория одна и та же.
Я подумал, что мне, вероятно, придется отсортировать исходный фрейм данных;
data.sort_values("categories")
Но тогда ...
Кто-нибудь может мне помочь? Заранее спасибо!
PS Я только начал изучать Python, так что, возможно, приведенный здесь код не самый эффективный. Советы приветствуются, конечно:)