Ho la seguente tabella. Voglio calcolare una media ponderata raggruppata per ogni data in base alla seguente formula. Posso farlo usando un codice convenzionale standard, ma partendo dal presupposto che questi dati siano in un dataframe panda, esiste un modo più semplice per raggiungere questo obiettivo piuttosto che attraverso l'iterazione?Calcolare la media ponderata usando un panda/dataframe
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/sum (60,80,100)) + .75 * (80/sum (60,80,100)) + 1,0 * (100/sum (60, 80.100))
01/02/2012 w_avg = 0.5 * (100/sum (100,80)) + 1.0 * (80/sum (100,80))
Nota che nel tuo esempio colonna 'valore' rappresenta in realtà i pesi, e il 'peso' colonna i valori da mediare ... – kadee