Maison >développement back-end >Tutoriel Python >Comment puis-je vérifier efficacement les inclusions de plusieurs sous-chaînes dans Pandas ?
Dans les pandas, il est nécessaire de déterminer si une chaîne contient l'une des sous-chaînes présentes dans une liste. Pour résoudre ce problème, une combinaison de df.isin() et df[col].str.contains() pourrait être utilisée. Cependant, cette approche est considérée comme lourde.
Une approche plus raffinée consiste à tirer parti du | (barre verticale) dans les expressions régulières pour faire correspondre plusieurs sous-chaînes simultanément. Cette technique consiste à concaténer les sous-chaînes de la liste à l'aide de '|'.join() :
searchfor = ['og', 'at'] s[s.str.contains('|'.join(searchfor))]
Cette approche identifie efficacement les chaînes qui correspondent à l'une des sous-chaînes spécifiées, ce qui donne un résultat affiné :
0 cat 1 hat 2 dog 3 fog dtype: object
Il est important de faire preuve de prudence lorsque vous manipulez des sous-chaînes contenant des caractères spéciaux tels que $ et ^ qui ont des significations spécifiques dans les expressions régulières. Pour garantir une correspondance littérale, utilisez re.escape() pour échapper ces caractères :
import re matches = ['$money', 'x^y'] safe_matches = [re.escape(m) for m in matches] s[s.str.contains('|'.join(safe_matches))]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!