nombre - seleccionar columnas pandas python
Dejar caer varias columnas en pandas (2)
Estoy intentando eliminar varias columnas (columna 2 y 70 en mi conjunto de datos, indexadas como 1 y 69, respectivamente) por número de índice en un marco de datos de pandas con el siguiente código:
df.drop([df.columns[[1, 69]]], axis=1, inplace=True)
Obtuve el siguiente error:
TypeError: unhashable type: ''Index''
Y en mi código, [1, 69] está resaltado y dice:
Expected type ''Integral'', got ''list[int]'' instead
El siguiente código hace lo que yo quiero que haga con éxito, pero en dos líneas de código repetitivo (primero cayendo el índice de columnas 69, luego 1, y el orden sí importa porque al eliminar las columnas anteriores se cambia el índice de las columnas posteriores). Pensé que podría especificar más de un índice de columna simplemente como una lista, pero quizás tengo algo mal arriba?
df.drop([df.columns[69]], axis=1, inplace=True)
df.drop([df.columns[1]], axis=1, inplace=True)
¿Hay alguna forma de que pueda hacer esto en una línea similar al primer fragmento de código anterior?
No necesita envolverlo en una lista con [..]
, solo proporcione la subselección del índice de columnas:
df.drop(df.columns[[1, 69]], axis=1, inplace=True)
ya que el objeto de índice ya se considera como similar a una lista.
Prueba esto
df.drop(df.iloc[:, 1:69], inplace=True, axis=1)
Esto funciona para mí