Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Rechercher et extraire en Python
En
Python pour
Excel, nous pouvons utiliser la
méthode loc pour des filtres simples et la
méthode query pour des conditions plus précises. Les deux méthodes sont puissantes et adaptées à différents besoins. Nous allons découvrir ici comment réaliser des procédés d'extractions multiples avec la
méthode Python loc pour faire des recherches affinées.
Classeur Excel à télécharger
Nous proposons de baser l'étude sur un
classeur Excel existant.
Nous découvrons un tableau de véhicules avec des renseignements sur les immatriculations, marques et modèles. En cellule B3, un
DataFrame représente ce tableau des véhicules :
voit=xl("B5:D29", headers=True)
L'utilisateur peut choisir une marque à extraire en C3 avec une liste déroulante. Un autre DataFrame encapsule ce critère en
cellule D3 :
crit=xl("C3").
Initier la recherche
C'est donc la
méthode Python loc que nous devons engager sur le
Dataframe voit pour appliquer le critère encapsulé dans l'
objet crit sur la
colonne des marques.
- Cliquer sur la première case de la grille d'extraction pour sélectionner la cellule F5,
- Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
- Taper le début de syntaxe suivant : voit.loc[,
Nous appliquons donc la
méthode Python de recherche sur le
DataFrame nommé
voit.
- Puis, exercer le critère dynamique sur la colonne des marques : voit['Marque']==crit,
- Taper une virgule (,) pour passer dans l'argument des éléments souhaités en retour,
- Désigner les trois colonnes initiales comme suit : ['Immat.','Marque', 'Modèle']],
Nous n'oublions pas de fermer les deux crochets pour ponctuer la syntaxe. Nous obtenons un nouveau
DataFrame dont nous souhaitons exploiter visuellement les données.
- A gauche de la barre de formule, cliquer sur la flèche orientée vers le bas,
- Dans les propositions, choisir Valeur Excel,
Comme vous le constatez, nous obtenons bien toute la liste des véhicules correspondant à la marque désignée avec la liste déroulante. Et bien entendu si vous changez de marque, l'extraction s'ajuste aussitôt en parfaite cohérence.
Supprimer la colonne des indices
Mais cela ne vous a pas échappé, cette extraction déborde de la grille en raison d'une colonne en préfixe, générée naturellement par
Python. Elle renseigne sur les positions d'origine de ces lignes dans le tableau source. Et ça, nous le savons désormais, c'est la
méthode Python reset_index qui permet d'exclure cette colonne. Nous devons donc l'appliquer en cascade.
- Double cliquer sur la cellule F5 du calcul,
- Cliquer à la toute fin de la syntaxe pour y placer le point d'insertion,
- Puis appeler la méthode reset_index comme suit : .reset_index(drop=True),
- Dès lors, valider l'adaptation de la formule par le raccourci clavier CTRL + Entrée,
Vous avez le plaisir de constater que l'extraction ne déborde plus et que seules les lignes du modèle choisi sont importées.
Sachez enfin, quand il est question de retourner toutes les colonnes, qu'il est possible de simplifier la syntaxe sans les énumérer par leurs noms. Pour cela, il suffit de remplacer l'énumération par le symbole deux points comme suit : voit.loc[voit['Marque']==crit,
:].reset_index(drop=True).