Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/10/2022, à 11:41

zigroful1

Recherche stricte d'un mot-clé dans les lignes d'un data-frame PANDAS

Bonjour à tous,

Je travaille depuis quelques jours sur un data frame pandas contenant 13 colonnes et 500 lignes.
Je souhaiterai extraire les lignes contenant un mot-clé et que cette extraction soit stricte, càd:
si mon mot-clé est par exemple UBER, je souhaiterai qu'il ne m'extrait pas en même temps AUBER ou UBER492 ou d'autres lignes contenant ces derniers mots.
J'ai utilisé un masque tel que:

mask=np.column_stack([df[col].astype(str).str.contains(pattern) for col in df])

et, évidemment le mot UBER étant inclus dans AUBER ou UBER492, il extrait ces lignes également.
Comment faire pour préciser que je souhaite une extraction STRICTE des lignes contenant le pattern désigné et seulement ces lignes ?

J'ai cherché partout dans la doc de pandas et je ne trouve pas .
Quelqu'un a-t-il une idée ?
Merci beaucoup d'avance

Hors ligne

#2 Le 29/10/2022, à 14:41

Vobul

Re : Recherche stricte d'un mot-clé dans les lignes d'un data-frame PANDAS

Salut,

Alors déjà quand tu poses ce genre de problème, c'est toujours sympa de proposer du code pour reproduire le problème. Ce que je fais ci-dessous :

python
import pandas as pd
d = {'col1': ['auber', 'uber', 'hubert', 'roger']}
df = pd.DataFrame(data=d)
df

Le truc à savoir, c'est que str.contains comprend les regex. Donc :

df['col1'].str.contains('^uber$')

Va fonctionner wink


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne