Saltar al contenido

python pandas.Series.isin con mayúsculas y minúsculas

Es importante entender el código de forma correcta previamente a adaptarlo a tu proyecto si tdeseas aportar algo puedes comentarlo.

Solución:

Una forma sería comparando las minúsculas o mayúsculas de la Serie con las mismas de la lista

df[df['column'].str.lower().isin([x.lower() for x in mylist])]

La ventaja aquí es que no estamos guardando ningún cambio en el df original o en la lista, lo que hace que la operación sea más eficiente.

Considere este df ficticio:

    Color   Val
0   Green   1
1   Green   1
2   Red     2
3   Red     2
4   Blue    3
5   Blue    3

Para la lista l:

l = ['green', 'BLUE']

Puedes usar isin()

df[df['Color'].str.lower().isin([x.lower() for x in l])]

Usted obtiene

    Color   Val
0   Green   1
1   Green   1
4   Blue    3
5   Blue    3

Prefiero usar el general. .apply

myset = set([s.lower() for s in mylist])
df[df['column'].apply(lambda v: v.lower() in myset)]

Una búsqueda en un set es más rápido que una búsqueda en un list

Más adelante puedes encontrar las acotaciones de otros creadores, tú incluso puedes dejar el tuyo si te gusta.

¡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 *