4Geeks logo
4Geeks logo

Courses

Explora nuestra extensa colección de cursos diseñados para ayudarte a dominar varios temas y habilidades. Ya seas un principiante o un aprendiz avanzado, aquí hay algo para todos.

Coding Bootcamp

Aprende en vivo

Únete a nosotros en nuestros talleres gratuitos, webinars y otros eventos para aprender más sobre nuestros programas y comenzar tu camino para convertirte en desarrollador.

Próximos eventos en vivo

Catálogo de contenidos

Para los geeks autodidactas, este es nuestro extenso catálogo de contenido con todos los materiales y tutoriales que hemos desarrollado hasta el día de hoy.

Tiene sentido comenzar a aprender leyendo y viendo videos sobre los fundamentos y cómo funcionan las cosas.

Full-Stack Software Developer - 16w

Data Science and Machine Learning - 16 wks

Buscar en lecciones


IngresarEmpezar

Weekly Coding Challenge

Todas las semanas escogemos un proyecto de la vida real para que construyas tu portafolio y te prepares para conseguir un trabajo. Todos nuestros proyectos están construidos con ChatGPT como co-pilot!

Únete al reto

Podcast: Code Sets You Free

Un podcast de cultura tecnológica donde aprenderás a luchar contra los enemigos que te bloquean en tu camino para convertirte en un profesional exitoso en tecnología.

Escuchar el podcast
← Volver a Cómo hacerlo
Editar en Github

¿Cómo hacer drop de una columna en Pandas?

Escrito por:

Al trabajar con Pandas se es común tener la necesidad de eliminar alguna columna de nuestro Dataframe, existen diferentes formas para hacerlo, a continuación veremos un pequeño ejemplo utilizando el método drop() de la librería de Pandas.

Loading...

En este ejemplo tenemos un Dataframe con la información de los usuarios de una aplicación y queremos eliminar la columna Ultima_conexion, para esto simplemente podemos hacer uso del método drop() y pasarle el parámetro columns junto con el nombre de la columna que necesitamos eliminar, este método retorna una copia del Dataframe original con la columna eliminada.

Si estas interesado en aprender todos los métodos de pandas a través de ejercicios, te recomendamos este tutorial de pandas para machine learning gratuito, ahi tendrás muchos ejercicios para practicar y conocer nuevos métodos.

Diferentes formas de eliminar un columna

Existen diferentes formas de eliminar una columna de un Dataframe en Python, algunas pueden ser más eficientes que otras dependiendo de la situación. A continuación veremos algunas de las más utilizadas y eliminaremos algunas de las columnas del siguiente Daraframe.

Loading...

1. Usando el método drop

Posiblemente la mejor manera de eliminar una columna de un Dataframe es haciendo uso del método drop(), este método ofrece una manera sencilla, intuitiva y eficiente de eliminar una o varias columnas de un Dataframe, puedes ver este artículo si quieres una explicación más completa de ¿Cómo usar el método drop de Pandas?. A continuación veremos un pequeño ejemplo:

1productos.drop(columns='Opiniones', inplace=True) 2print(productos)

output del código:

1 Producto Color Precio Disponibilidad 20 Espejo Mágico Plateado 29.99 En Stock 31 Libro de Sueños Rosa 12.50 Agotado 42 Varita Luminosa Dorado 45.99 En Stock 53 Sombrero Hechizado Negro 34.75 En Stock 64 Cristal Adivinatorio Transparente 55.99 Agotado

En este ejemplo estamos eliminando la columna (Opiniones) del Dataframe productos haciendo uso del método drop(). Para eliminar una columna con ayuda de este método, simplemente necesitas pasarle el parámetro columns y como valor a este parámetro le colocas el nombre de la columna que quieres eliminar.

2. Usando la palabra reservada (del)

Otra forma en la que puedes eliminar una columna de un Dataframe es haciendo uso de la palabra reservada del, a continuación veremos un pequeño ejemplo.

1del productos['Disponibilidad'] 2print(productos)

output del código:

1 Producto Color Precio Opiniones 20 Espejo Mágico Plateado 29.99 87 31 Libro de Sueños Rosa 12.50 42 42 Varita Luminosa Dorado 45.99 95 53 Sombrero Hechizado Negro 34.75 68 64 Cristal Adivinatorio Transparente 55.99 76

En este ejemplo, estamos utilizando la palabra reservada de Python del para eliminar la información del Dataframe productos en la columna (Disponibilidad). Esta es una manera sencilla de eliminar columnas innecesarias en un Dataframe.

3. Utilizando el método pop

Otra forma en la que puedes eliminar una columna de un Dataframe es haciendo uso del método pop().

1color = productos.pop('Color') 2 3print(color) 4print() 5print(productos)

output del código:

10 Plateado 21 Rosa 32 Dorado 43 Negro 54 Transparente 6Name: Color, dtype: object 7 8 Producto Precio Disponibilidad Opiniones 90 Espejo Mágico 29.99 En Stock 87 101 Libro de Sueños 12.50 Agotado 42 112 Varita Luminosa 45.99 En Stock 95 123 Sombrero Hechizado 34.75 En Stock 68 134 Cristal Adivinatorio 55.99 Agotado 76

En este ejemplo, hacemos uso del método pop() para eliminar la columna (Color) del Dataframe productos. Este método recibe como parámetro el índice del elemento que se eliminará, después retorna el elemento en ese índice y lo elimina del Dataframe original.

4. Slicing de Dataframe

Una forma interesante en al que también puedes eliminar una columna en un dataframe es haciendo uso de Slicing con ayuda nuevamente del método drop().

1productos.drop(['Precio'], axis=1, inplace=True) 2print(productos)

output del código:

1 Producto Color Disponibilidad Opiniones 20 Espejo Mágico Plateado En Stock 87 31 Libro de Sueños Rosa Agotado 42 42 Varita Luminosa Dorado En Stock 95 53 Sombrero Hechizado Negro En Stock 68 64 Cristal Adivinatorio Transparente Agotado 76

Slicing un Dataframe es una manera interesante de eliminar una columna en un Dataframe. En este ejemplo simplemente le pasamos una lista con el nombre de la columna que queremos eliminar, también es importante utilizar el parámetro axis=1 que indica que estamos eliminando elementos horizontalmente (columnas).

Conceptos básicos del método drop

El método drop() es un método de la librería de pandas que nos permite eliminar las filas o las columnas de un Dataframe. A continuación veremos los parámetros que recibe y para que se utiliza cada uno.

1dataframe.drop( 2 labels=None, 3 axis=0, 4 index=None, 5 columns=None, 6 level=None, 7 inplace=False, 8 errors='raise' 9)
  • labels: etiquetas de índice o columna que se van a eliminar.
  • axis: especifica si se van a eliminar filas (axis=0) o columnas (axis=1).
  • index: etiqueta o lista de etiquetas a eliminar del eje 0.
  • columns: etiquetas o lista de etiquetas a eliminar del eje 1.
  • level: número entero o nombre del nivel a eliminar de un índice multinivel.
  • inplace: si es True, se modifica el Dataframe original de lo contrario devuelve una copia modificada.
  • errors: si se establece en 'ignore', se suprimen los errores y solo se eliminan las etiquetas existentes, por otro lado si el valor es 'raise' el método devolverá un error cuando alguna de las etiquetas no exista.

Eliminación de columnas

A continuación veremos las diferentes formas en las que puedes eliminar una columna en un Dataframe haciendo uso del método drop(), además utilizaremos el siguiente Dataframe con la información de algunos animales de ejemplo.

Loading...

1. Eliminación de una sola columna por nombre

1animales_salvajes.drop(columns='Característica', inplace=True) 2print(animales_salvajes)

output del código:

1 Identificador Especie Edad Color 20 1003 Leopardo de las Nieves 4 Blanco y Gris 31 1027 Dragón Barbudo 2 Marrón y Amarillo 42 1378 Mapache Mascota 3 Gris y Negro 53 2067 Petauro del Azúcar 1 Gris y Blanco 64 2345 Serpiente del Arco Iris 5 Multicolor

Para eliminar una sola columna en un Dataframe podemos utilizar el método drop() y pasarle el parámetro columns con el nombre de la columna que deseas eliminar.

2. Eliminación de múltiples columnas utilizando una lista

1animales_salvajes.drop(columns=['Identificador', 'Edad', 'Color'], inplace=True) 2print(animales_salvajes)

output del código:

1 Especie Característica 20 Leopardo de las Nieves Pelaje denso y suave 31 Dragón Barbudo Espinas en la cabeza 42 Mapache Mascota Máscara facial única 53 Petauro del Azúcar Membranas en patas para deslizarse 64 Serpiente del Arco Iris Patrón de colores vibrantes

Para eliminar múltiples columnas en un Dataframe simplemente necesitamos pasarla al método drop() el parámetro columns y como valor una lista con los nombres de las columnas que queremos eliminar.

3. Eliminación de columnas basadas en una condición

Loading...

output del código:

1 Especie Color Característica 20 Leopardo de las Nieves Blanco y Gris Pelaje denso y suave 31 Dragón Barbudo Marrón y Amarillo Espinas en la cabeza 42 Mapache Mascota Gris y Negro Máscara facial única 53 Petauro del Azúcar Gris y Blanco Membranas en patas para deslizarse 64 Serpiente del Arco Iris Multicolor Patrón de colores vibrantes

En este ejemplo necesitamos eliminar todas las columnas del Dataframe animales_salvajes que contengan como valor un elemento de tipo (número), para conseguir todas las columnas que contiene un número podemos utilizar una list comprehension que guardará solo las columnas que contengan un número en su primera fila y después simplemente podemos pasarle al método drop() el parámetro columns con las lista de columnas a eliminar, en nuestro caso la lista columnas_para_eliminar.

Alternativas a la Eliminación física de las columnas

En algunas ocasiones, la eliminación física de las columnas puede no ser la mejor opción por diversas razones. A continuación veremos algunas alternativas que nos permiten manipular los datos sin la necesidad de eliminar físicamente las columnas del Dataframe, por ejemplo, cambiar los valores de las filas de la columna por el valor NaN, por ceros o por algún otro valor.

Loading...

En este ejemplo no necesitamos los valores de las filas de la columna Popularidad, podemos reemplazar los valores de esas filas por valores NaN. La alternativa de cambiar los valores de una columna en lugar de eliminar físicamente la columna puede variar dependiendo de cada ocasión y el tipo de análisis que necesites hacer con la información del Dataframe.

Uso de la opción inplace

La opción inplace en el método drop() nos permite determinar si queremos modificar el Dataframe original o generar una copia del Dataframe y retornar esa copia para almacenarla en una nueva variable. Es muy importante tener cuidado con este parámetro ya que puede eliminar de forma permanente información que puede ser relevante, en su lugar es aconsejable primero crear una copia del Dataframe original y después eliminar las columnas en la copia del Dataframe de esta manera si por alguna razón más adelante necesitas toda la información del Dataframe la puedes obtener en el Dataframe original.

Ventajas y Desventajas de la opción inplace

Ventajas:

  1. Menos consumo de memoria al no crear un nuevo DataFrame.
  2. Puede ser más conveniente y eficiente para conjuntos de datos grandes.

Desventajas:

  1. Puede dificultar la trazabilidad y depuración del código.
  2. La pérdida de datos es permanente, sin posibilidad de retroceder.

Conclusión

En este artículo hemos visto diferentes formas de eliminar las columnas de un Dataframe, además, también vimos algunos ejemplos sobre cómo eliminar una o varias columnas con ayuda del método drop() y algunas alternativas a la eliminación física de una columna. Te recomiendo que practiques los ejemplos aprendidos en este artículo con datasets más grandes, así entenderás mejor cómo funcionan y también aprenderás a utilizarlos con conjuntos de datos muy grandes algo que puede ser un poco complejo al comienzo, puedes buscar diferentes datasets para practicar en la página web kaggle.com.

Te invito a que sigas aprendiendo sobre la librería de Pandas junto con todos sus métodos y funcionalidades ya que esta librería nos proporciona bastantes recursos para manipular y modificar distintas estructura de datos como Dataframes y Series. Para explorar más sobre Pandas y análisis de datos, así como para llevar tus habilidades al siguiente nivel, te invitamos a registrarte de forma gratuita en 4Geeks.com.