Cómo eliminar filas de un DataFrame de Python Pandas según una condición

Sencillo ejemplo de cómo eliminar una fila de un DataFrame Pandas de Python en función de una expresión condicional. Como bonus track al final vemos cómo eliminar también una columna.

Partimos de este sencillo DataFrame creado en Excel como ejemplo:

La forma de cargar en Pandas éste DataFrame desde un archivo Excel es la siguiente:

import pandas as pd

df = pd.read_excel('prueba.xlsx') # Carga del fichero Excel

Ahora vamos a suponer que queremos eliminar todas las filas que tengan en el atributo ‘C’ el valor de ‘True‘. Ejecutamos lo siguiente:

df = df.drop(df[df['C']==True].index)

Tras esa línea de código, se habrán eliminado todas las filas en las que el valor de ‘C’ fuera ‘True‘, quedando solo las que el valor fuera ‘False‘. El DataFrame quedará de la siguiente forma:

Supongamos ahora que queremos eliminar todas las filas cuyo valor del atributo ‘D’ sea mayor que 10. Esto debería eliminarnos las filas 2 y 6 y dejarnos un DataFrame de solo dos filas, la 4 y 5. Lo haríamos de la siguiente forma:

df = df.drop(df[df['D']>10].index)

Esa línea de código nos dejaría el siguiente DataFrame tal como hemos predicho:

Por último, y como bonus-track, vamos a eliminar la columna ‘E’ en del DataFrame Pandas:

df = df.drop('E', 1)

El resultado final es el esperado:

Nota: podemos resetear el index del DataFrame modificado de la siguiente forma:

df = df.reset_index(drop=True)
Para saber más:

Python – Eliminar fila de DataFrame en Pandas basado en valor de columna.
Python – Cómo eliminar filas de un DataFrame de pandas basado en una expresión condicional.

Deja un comentario

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

Solve : *
14 − 10 =