HOWTO · Pandas
Columnas de caída por índice en Pandas DataFrame
Este tutorial demuestra cómo eliminar las columnas de un DataFrame en los pandas usando sus índices
En esta página
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