Optimisation temps de traitement avec pandas (boucle)
Bonjour,
Je code sous Python depuis peu (apprentissage en autodidacte), et je cherche des moyens pour optimiser mon code car celui-ci risque de prendre en entrée de grosses volumétries.
J'ai vu qu'il était possible d'accélérer les temps de traitement en passant par du C (mon futur objectif!), mais en attendant, comment est-il possible d'optimiser par exemple le code suivant :
Code:
1 2 3 4 5
| for i in xrange(len(profil)) :
if profil.loc[i, "GENDER"]==1:
profil.loc[i, "top_fem"]=1
elif profil.loc[i, "GENDER"] ==2:
profil.loc[i, "top_hom"]=1 |
Ici, un dataframe nommé "profil". Sur ce dataframe, si la variable GENDER ==1 alors je crée une variable top_fem contenant la valeur 1. Si elle vaut 2, alors je crée la variable top_hom=1
J'ai tenté l'infructueux :
Code:
1 2
| if profil.loc[:,"GENDER"]==1:
profil.loc[:,"top_fem"]=1 |
Que me conseillez-vous pour optimiser cela? Car j'ai énormément de boucles dans ce style dans mon code.
Merci à vous :)