Recherche de chaîne dans toutes les colonnes Pandas DataFrame et filtre
Pensais que ce serait tout droit vers l'avant, mais a eu quelques difficultés à traquer une manière élégante de recherche de toutes les colonnes dans un dataframe en même temps pour une chaîne partielle de match. Fondamentalement, comment pourrais-je appliquer df['col1'].str.contains('^')
à l'ensemble d'un dataframe à la fois et le filtre vers le bas pour toutes les lignes qui ont les dossiers contenant le match?
source d'informationauteur horatio1701d
Vous devez vous connecter pour publier un commentaire.
La
Series.str.contains
méthode attend un regex modèle (par défaut), pas une chaîne littérale. Doncstr.contains("^")
correspond au début de n'importe quelle chaîne. Puisque chaque chaîne a un début, tout correspond. Au lieu d'utiliserstr.contains("\^")
pour correspondre à la traduction littérale^
caractère.De vérifier chaque colonne, vous pouvez utiliser
for col in df
pour itérer sur les noms de colonne, et ensuite appelerstr.contains
sur chaque colonne:Alternativement, vous pouvez passer
regex=False
àstr.contains
pour faire le test utiliser le Pythonin
opérateur; mais (en général) à l'aide de regex est plus rapide.Essayer avec :