Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :
Critères ET et OU
Dans le volet précédent, nous avons appris à émettre plusieurs critères non exclusifs par
formule Python . Il s'agissait d'extraire les lignes d'un tableau contenant certains mots clés. Ici et sur cette base, nous allons voir comment ajouter une contrainte de recoupement.
Classeur Excel à télécharger
Nous proposons de caler l'étude sur la base des travaux réalisés à l'occasion du volet précédent.
Nous avions travaillé sur un tableau d'articles vestimentaires et avions réalisé sur la droite, l'extraction de toutes les lignes pour lesquelles un premier ou un deuxième mot clé était trouvé dans le champ intitulé
nom du tableau d'origine. Ces contraintes sont établies dans un petit panneau de contrôle au-dessus de la grille d'extraction. Mais vous constatez qu'un troisième critère sur le prix, s'additionne désormais.
La syntaxe que nous avions bâtie est rappelée en
cellule I7 :
bd[bd["nom"].str.contains(cr1) | bd["nom"].str.contains(cr2)].sort_values("prix")
Troisième condition
Sur ces lignes embarquant l'un OU l'autre mot clé, nous souhaitons maintenant restreindre l'extraction dynamique pour exclure toutes celles qui dépassent le prix mentionné en
cellule K5 . Pour que ce critère puisse être manipulé dynamiquement, nous l'avons embarqué dans un objet en cellule voisine
L5 :
cr3=xl("K5") . C'est ce nom
cr3 que nous devons utiliser dans la
formule Python à adapter pour
limiter les extractions . Nous devons donc recouper une contrainte exclusive avec les deux précédentes non exclusives. Et comme nous l'avons déjà appris, c'est la
méthode Python query qui permet d'exercer des requêtes sur des objets représentant des tableaux de données.
Sur l'extraction en cours, vous constatez que l'une des lignes, pour les deux mots clés stipulés, dépasse les 32 Euros, contrainte tarifaire actuelle. Il s'agit de la dernière.
Cliquer sur la cellule I7 pour sélectionner la case de la formule,
Dans sa barre de formule, cliquer avant le point qui appelle la méthode sort_values ,
Taper un nouveau point pour appeler une autre méthode Python ,
Inscrire la méthode query suivie d'une parenthèse ouvrante,
Construire alors la syntaxe suivante : f"prix <= {cr3}" ,
La lettre
f indique Ã
Python que nous sommes en train de construire un f-string, c'est-Ã -dire une expression avec des
critères dynamiques . Ce critère dynamique, nous le mentionnons entre accolades sur le champ des prix.
Fermer la parenthèse de la méthode query ,
Puis, valider la formule Python par le raccourci clavier CTRL + Entrée ,
Comme vous le constatez, la dernière ligne, celle qui dépassait les 32 Euros, disparaît.
Naturellement, si vous influez sur ces critères textuels à combiner et sur la condition numérique à recouper, l'extraction chirurgicale s'ajuste aussitôt et en parfaite cohérence.