У меня есть pandas фрейм данных с двумя идентификаторами, счетчиком и средним. Как сгруппировать по обоим идентификаторам и получить средневзвешенное значение, чтобы следующий набор данных:
id1 id2 count average
Person A class 1 200 0.2
Person A class 1 400 0.4
Person B class 2 800 0.6
Person C class 2 200 0.4
Person B class 3 800 0.6
Person A class 4 400 0.2
Person B class 2 100 0.5
Получает следующий результат (в любом порядке строк):
id1 id2 count average
Person A class 1 600 0.33
Person B class 2 900 0.59
Person C class 2 200 0.4
Person B class 3 800 0.6
Person A class 4 400 0.2
Для справки:
pd.DataFrame({"id1" : ["Person A","Person A","Person B","Person C","Person B","Person A","Person B"],
"id2" : ["class 1","class 1","class 2","class 2","class 3","class 4","class 2"],
"count" : [200, 400, 800, 200, 800, 400, 100],
"average" : [0.2, 0.4, 0.6, 0.4, 0.6, 0.2, 0.5]})