Sto cercando di capire come utilizzare la funzione groupby in panda per calcolare le proporzioni di valori all'anno con un dato Sì/nessun criterio.Come utilizzare groupby in panda per calcolare un totale percentuale/proporzione basato su un criterio in un'altra colonna
Per esempio, ho un dataframe, consente di chiamare i nomi:
Name Number Year Sex Criteria
0 name1 789 1998 Male N
1 name1 688 1999 Male N
2 name1 639 2000 Male N
3 name2 551 1998 Male Y
4 name2 499 1999 Male Y
posso usare
namesgrouped = names.groupby(["Sex","Year","Criteria"]).sum()
per ottenere:
Number
Sex Year Criteria
Male 1998 N 14507
Y 2308
1999 N 14119
Y 2331
e così via. Vorrei che la colonna "Criteri numerici" mostrasse la% del totale per sesso e anno, quindi anziché N = 14507 e Y = 2308 per il 1998 sopra avrei N = 86,27% e Y = 13,73%.
Qualcuno può consigliare come fare questo? Grazie in anticipo!
Eventuali duplicati di [Panda percentuale del totale con groupby] (http://stackoverflow.com/questions/23377108/pandas-percentage-of-total-with- groupby) – IanS
Sfortunatamente l'esempio a cui ti sei collegato non ha funzionato per me, dato che ho un livello extra in groupby! Qualcuno sa come calcolare la percentuale quando si ha a che fare con una gerarchia come la mia? –
La mia risposta suggerita ha funzionato? – IanS