les pandas dataframe str.contient du (de la) ET de l'opération
df (Pandas Dataframe) a trois lignes.
some_col_name
"apple is delicious"
"banana is delicious"
"apple and banana both are delicious"
df.col_name.str.contains("apple|banana")
va attraper toutes les lignes:
"apple is delicious",
"banana is delicious",
"apple and banana both are delicious".
Comment puis-je l'appliquer ET l'opérateur de str.contient de la méthode, de sorte qu'il ne récupère que les chaînes de caractères qui contiennent à la FOIS de la pomme & banane?
"apple and banana both are delicious"
Je voudrais saisir des chaînes de caractères qui contient de 10 à 20 mots différents (raisin, pastèque, fruits rouges, orange, ..., etc.)
OriginalL'auteur Aerin | 2016-05-03
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire comme suit:
OriginalL'auteur flyingmeatball
OriginalL'auteur Alexander
Vous pouvez aussi le faire dans l'expression regex style:
Vous pouvez alors créer votre liste de mots dans une chaîne regex comme suit:
rendra:
Alors vous pouvez faire votre stuff de façon dynamique.
OriginalL'auteur Anzel
Cela fonctionne
OriginalL'auteur Charan Reddy
si vous voulez prendre dans le minimum d'au moins deux mots dans la phrase, peut-être cette volonté de travail (prise de la pointe de @Alexandre) :
de sortie:
si vous avez plus de deux mots à attraper, qui sont séparés par une virgule ',' que de l'ajouter à la connector_list et de modifier la deuxième condition de tous à tout
de sortie:
OriginalL'auteur Siraj S.
Essayer cette regex
Code est:
Sortie
OriginalL'auteur pmaniyan
L'énumération de toutes les possibilités pour les grandes listes est lourd. Une meilleure façon est d'utiliser
reduce()
et la au niveau du bit ET opérateur (&
).Par exemple, considérez les points suivants DataFrame:
Supposons que nous voulions à la recherche de tous les éléments suivants:
Nous pouvons faire:
OriginalL'auteur pault