Bonjour à tous,
Je bosse actuellement sur une expérience perso en IA et je suis sur la phase de préparation des données.
Je me trouve donc avec un dataset qui ressemble à ca une fois importé avec Pandas dans mon notebook:
Sur ce dataset je voulais avoir le département de chaque ligne. j’ai pour cela trouvé une lib Python qui semble convenir pour éviter de juste tronquer aux deux premiers caractères et ainsi foirer tous les DOM-TOM : https://pypi.org/project/pgeocode/
Je me retrouve donc avec un code de la sorte :
import pgeocode
geo = pgeocode.Nominatim('fr')
missionement['departement'] = missionement.apply(lambda row: geo.query_postal_code(row['CODE_POSTAL']).county_code, axis=1)
Ce code tourne pendant un temps très long : plus de 45 min avant que je kill à chaque fois
J’ai tenté une approche sans lamba sous la forme :
missionement['departement'] = geo.query_postal_code(missionement['CODE_POSTAL']).county_code
Cette approche tourne en 1 sec mais me renvoi une colonne completement remplie de valeur "NaN"
Hors si je tente la même approche mais sur une seule ligne (pour tester les données) cela fonctionne parfaitement :
geo.query_postal_code(missionement['CODE_POSTAL'].values[0]).county_code
Me retourne : '01'
Comment puis-je traiter tout le tableau dans un délai "raisonnable" ? Ai-je raté quelque chose ?
Merci à tous pour votre aide