Delete a column from a DataFrame in Python Pandas

David Y.
jump to solution

The Problem

How do I delete a column from a Pandas DataFrame?

The Solution

We can do this using the DataFrame.drop method:

import pandas

# DataFrame with three columns
products = pandas.DataFrame([["apple", 1, 2], ["orange", 3, 4], ["pear", 5, 6]],
                 columns=["product", "cost_price", "sale_price"])
print(products)

# Remove the sale_price column
products.drop('sale_price', axis=1, inplace=True)

print(products)

This code will print the products DataFrame with three columns and then with two columns. We’ve used the following arguments in our drop method call:

  1. 'sale_price' is the name of the column to remove. We could also provide a column index (e.g. 2) or a list of indices or names to delete multiple columns.
  2. axis=1 indicates that we should remove a column (axis=0 will attempt to remove a row).
  3. inplace=True tells the method to modify the current products DataFrame rather than returning a new one with the column removed. Without this argument, we would have to reassign products as below:
products = products.drop('sale_price', axis=1)

Considered "not bad" by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world's best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

Sentry