Saltar al contenido

Python Pandas: la cadena contiene y no contiene

Solución:

Ya casi estás allí, simplemente no tienes la sintaxis correcta, debería ser:

df[(df.str.contains("b") == True) & (df.str.contains("a") == False)]

Otro enfoque que podría ser más limpio si tiene muchas condiciones para aplicar sería encadenar sus filtros junto con reducir o un bucle:

from functools import reduce
filters = [("a", False), ("b", True)]
reduce(lambda df, f: df[df.str.contains(f[0]) == f[1]], filters, df)
#outputs b2

Cualquiera:

>>> ts.str.contains('b') & ~ts.str.contains('a')
0    False
1    False
2     True
3    False
dtype: bool

o use expresiones regulares:

>>> ts.str.contains('^[^a]*b[^a]*$')
0    False
1    False
2     True
3    False
dtype: bool
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *