Somme Cumulative et pourcentage sur colonne?
j'ai un DataFrame
comme ceci:
df
:
fruit val1 val2
0 orange 15 3
1 apple 10 13
2 mango 5 5
Comment puis-je obtenir Pandas pour me donner une somme cumulative et Colonne de pourcentage sur seulement <!--4?
sortie Désirée:
df_with_cumsum
:
fruit val1 val2 cum_sum cum_perc
0 orange 15 3 15 50.00
1 apple 10 13 25 83.33
2 mango 5 5 30 100.00
j'ai essayé df.cumsum()
, mais ça me donne cette erreur:
TypeError: ufunc 'isnan' n'est pas supporté pour les types input, et les inputs ne peuvent pas être forcés en toute sécurité à n'importe quel type supporté selon le casting règle "sûr"
2 réponses
df['cum_sum'] = df.val1.cumsum()
df['cum_perc'] = 100*df.cum_sum/df.val1.sum()
ceci ajoutera les colonnes à df
. Si vous voulez une copie, copie df
d'abord, puis faites ces opérations sur la copie.
C'est une bonne réponse, mais écrire en 2014. J'ai juste modifié un peu, alors il peut passer le compilateur et semble même l'exemple.
df['cum_sum'] = df["val1"].cumsum()
df['cum_perc'] = rount(100*df.cum_sum/df["val1"].sum(),2)