Columnas de caída por índice en Pandas DataFrame

Manav Narula 11 marzo 2021
Columnas de caída por índice en Pandas DataFrame

Los DataFrames pueden ser muy grandes y pueden contener cientos de filas y columnas. Es necesario ser competente en las operaciones básicas de mantenimiento de un DataFrame, como la caída de múltiples columnas. Podemos usar el método dataframe.drop() para soltar columnas o filas del DataFrame dependiendo del axis especificado, 0 para filas y 1 para columnas. Identifica los elementos a eliminar basándose en algunas etiquetas. Por ejemplo, soltaremos la columna 'a' desde el siguiente DataFrame.

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

print(df)

df.drop(["a"], axis=1, inplace=True)

print(df)

Resultado:

    a  b   c   d
0  10  6   7   8
1   1  9  12  14
2   5  8  10   6
   b   c   d
0  6   7   8
1  9  12  14
2  8  10   6

Fíjate en el uso del parámetro inplace en la función de caída. Con el parámetro inplace establecido como True, las columnas se eliminan del DataFrame original; de lo contrario, se devuelve una copia del original.

En nuestro ejemplo, hemos eliminado la columna 'a', pero necesitamos pasar su nombre de etiqueta a la función dataframe.drop(). Cuando se trata de grandes conjuntos de datos, debemos manejar tales tareas para muchas columnas a la vez y utilizando índices de columna en lugar de sus nombres.

Podemos conseguirlo usando el método dataframe.columns(), que devuelve todas las columnas de un DataFrame y pasando las etiquetas de columna necesarias usando sus índices a la función dataframe.drop(). El siguiente fragmento de código explica cómo podemos hacer esto.

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

df.drop(df.columns[[1, 2]], axis=1, inplace=True)

print(df)

Producción :

    a   d
0  10   8
1   1  14
2   5   6

Suelta las columnas cuyo índice es 1 o 2.

También podemos evitar el uso del parámetro axis simplemente mencionando el parámetro columns en la función dataframe.drop(), que indica automáticamente que las columnas deben ser eliminadas. Ejemplo:

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

df.drop(columns=df.columns[[1, 2]], inplace=True)

print(df)

Producción :

    a   d
0  10   8
1   1  14
2   5   6
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artículo relacionado - Pandas DataFrame