У меня есть DataFrame, который выглядит следующим образом:
data = pd.DataFrame({'id' : ['a1', 'a1', 'a1', 'a2','a2','a3','a3','a3'],
'label' : ['0','0','1','0','1','0','1','1']})
Моя цель - сгруппировать по id и выполнить некоторую арифметику: вычислить число вхождений '0'и «1» в каждой группе, добавьте 1000 к каждому номеру и, наконец, разделите эти числа друг на друга.Например, для группы «a1»: «0» встречается дважды, «1» встречается один раз, затем 2 * 1000/1 * 1000 = 2.
Нужный кадр данных должен выглядеть следующим образом:
id number
a1 2
a2 1
a3 0,5
Эти вопросы SO мне очень помогли:
Сгруппируйте по двум столбцам и посчитайте вхождения каждой комбинации в пандах
pandas groupbyсчитать строку вхождения над столбцом
Я пробовал это в разных вариантах, но все еще не достиг желаемого результата.Любая помощь будет очень кстати.