Pandas Python equivalentes ao grupo R por mutate
Então, em R, quando eu tenho um quadro de dados composto por, digamos, 4 colunas, chame-odf
e eu quero calcular a relação pela soma do produto de um grupo, posso da seguinte maneira:
// generate data
df = data.frame(a=c(1,1,0,1,0),b=c(1,0,0,1,0),c=c(10,5,1,5,10),d=c(3,1,2,1,2));
| a b c d |
| 1 1 10 3 |
| 1 0 5 1 |
| 0 0 1 2 |
| 1 1 5 1 |
| 0 0 10 2 |
// compute sum product ratio
df = df%>% group_by(a,b) %>%
mutate(
ratio=c/sum(c*d)
);
| a b c d ratio |
| 1 1 10 3 0.286 |
| 1 1 5 1 0.143 |
| 1 0 5 1 1 |
| 0 0 1 2 0.045 |
| 0 0 10 2 0.454 |
Mas em python eu preciso recorrer a loops. Eu sei que deve haver uma maneira mais elegante do que loops crus em python, alguém tem alguma idéia?