Y a-t-il une fonction qui équivaudrait à une combinaison de df.isin()
et df[col].str.contains()
?
Par exemple, disons que j'ai la série
s = pd.Series(['cat','hat','dog','fog','pet'])
et que je veux trouver tous les endroits où s
contient l'un des ['og', 'at']
, je voudrais tout obtenir sauf «animal de compagnie».
J'ai une solution, mais c'est plutôt inélégant:
searchfor = ['og', 'at']
found = [s.str.contains(x) for x in searchfor]
result = pd.DataFrame[found]
result.any()
Y a-t-il une meilleure manière de faire cela?
pd.Series.str.contains
. Si les performances sont un problème, cela peut valoir la peine d'être étudié.