У меня есть следующая таблица. Я хочу рассчитать средневзвешенное значение, сгруппированное по каждой дате, исходя из приведенной ниже формулы. Я могу сделать это с использованием стандартного обычного кода, но если предположить, что эти данные находятся в кадре данных pandas, есть ли более простой способ добиться этого, а не через итерацию?
Date ID wt value w_avg
01/01/2012 100 0.50 60 0.791666667
01/01/2012 101 0.75 80
01/01/2012 102 1.00 100
01/02/2012 201 0.50 100 0.722222222
01/02/2012 202 1.00 80
01/01/2012 w_avg = 0,5 * (60/сумма (60,80,100)) +.75 * (80/сумма (60,80,100)) + 1,0 * (100/сумма (60,80,100))
01/02/2012 w_avg = 0,5 * (100/сумма (100,80)) + 1,0 * (80/сумма (100,80))