¿Cómo soltar la última columna de un Pandas DataFrame?

Eliminar la última columna de pandas DataFrame

En pocas palabras, puede eliminar la última columna de su DataFrame utilizando una de las siguientes técnicas:

Por índice de columna:

your_df.drop (columns = your_df.columns[-1], inplace= True)

o alternativamente por nombre de columna:

your_df = your_df.drop('last_column_name')

Crear datos de ejemplo

Primero, importaremos pandas y crearemos algunos datos que puede usar para seguir:

import pandas as pd  language = ['Go', 'Java', 'R', 'Python', 'Python'] signups = [120, 151, 186, 107, 156] attendees = [80,22,134, 45, 76] campaign = pd.DataFrame(dict (language = language, signups = signups, attendees = attendees))  campaign.head()

Veamos los datos:

idiomaregistrarasistentes0

1

2

3

4

Vamos 120 80
Java 151 22
R 186 134
Pitón 107 45
Pitón 156 76

Podemos mirar en el índice de la columna:

campaign.columns

Esto devuelve el siguiente objeto Index:

Index(['language', 'signups', 'attendees'], dtype="object")

Eliminar la última columna en pandas

Ahora que tenemos un DataFrame, podemos dividir el índice de la columna, de la misma manera que lo habría hecho con una lista simple de Python.

El índice de la última columna es -1, por lo que podemos escribir el siguiente código para eliminar esa columna de nuestro DF:

campaign.drop (columns = campaign.columns[-1], inplace=True)

Esto devuelve el siguiente DataFrame:

registro de idiomas0

1

2

3

4

Vamos 120
Java 151
R 186
Pitón 107
Pitón 156

Eliminar la última columna por etiqueta (nombre)

Podemos lograr un resultado similar al pasar el nombre de la última columna al método drop:

campaign.drop(columns="attendees", inplace=True)

Suelta las dos últimas columnas usando iloc

También podemos crear subconjuntos de nuestras columnas DataFrame usando el indexador iloc. Tomemos, por ejemplo, un caso en el que queremos guardar todas las columnas excepto las dos últimas en un nuevo DataFrame. Usando el corte de secuencia estándar de Python:

campaign_2 = campaign.iloc[:,:-2]

Eliminar solo la primera y la última columna

El último caso de hoy es seleccionar todas las columnas excepto la primera y la última. En este caso, pasaremos una lista de índices para eliminar. El índice 0 es la primera columna, el índice -1 es el último.

campaign.drop (columns = campaign.columns[[0,-1]])

Aprendizaje adicional

¿Cómo dividir valores en columnas de pandas por otros valores de celda?