How to drop multiple columns from a pandas DataFrame

Key takeaways:

  • pandas DataFrame is a tabular structure with labeled rows and columns.

  • It supports multiple data types, missing data handling, and various operations like arithmetic, merging, and joining.

  • To drop multiple columns, use the drop() function and pass a list of column names.

  • Example: df.drop(['A', 'W'], axis=1) removes columns A and W.

A DataFrame is a tabular (2-dimensional) data structure in the pandas library. It consists of a few rows and columns, just like a SQL table or a spreadsheet. In Python, a DataFrame can be used for many purposes like data exploration, cleaning, filtration and selection, data manipulation, visualization, and data analysis.

Syntax for the drop() function

The syntax of the drop() function is:

df.drop(columns=['column1', 'column2', ...], inplace=True)
  • df: The DataFrame from which you want to drop columns.

  • drop(): The method to remove specified columns or rows.

  • columns=['column1', 'column2', ...]: Specifies the names of the columns to drop, passed as a list (e.g., ['A', 'B'] to drop columns A and B).

  • inplace=True: Determines whether to modify the original DataFrame directly. If True, df is changed, and the dropped columns are removed. If False (default), a new DataFrame is returned without changing the original.

Key features of a DataFrame

  • Tabular structure: Contains rows and columns.

  • Labeled axes: Rows and columns are labeled.

  • Flexible data types: The cells can contain different types of data.

  • Missing data handling: The missing values (or NaN) are handled.

  • Operations supported: Arithmetic operations, statistical operations, merging, joining, etc.

The drop() function drops multiple columns from a pandas DataFrame. However, the list of columns is required as a parameter to delete specific columns from a DataFrame.

Code example to drop multiple columns

Here’s the coding example of dropping multiple columns from a pandas DataFrame:

import pandas as pnd
data1 = {'W': [1, 1, 1],
'X': [2, 2, 2],
'Y': [3, 3, 3],
'Z': [4, 4, 4],
'A': [0, 0, 0]}
dframe = pnd.DataFrame(data1)
print("DataFrame before any column deletion:")
print(dframe)
cols_to_drop = ['W', 'A']
dframe.drop(columns=cols_to_drop, inplace=True)
print("\nDataFrame after columns deletion:")
print(dframe)

Explanation

  • Lines 3–7: Generating sample data.

  • Line 9: Transforming data into a DataFrame.

  • Lines 14–15: Deleting columns A and W from the DataFrame.

Conclusion

In conclusion, the drop() function in pandas allows for efficient column deletion by passing a list of columns, enabling streamlined data manipulation in DataFrames.

Frequently asked questions

Haven’t found what you were looking for? Contact Us


How can we drop columns in pandas based on a condition?

Use the drop() method with a conditional filter on columns. For example, to drop columns where all values are NaN, use df.dropna(axis=1, how='all').


How do we drop all columns with a specific value in pandas?

Apply a condition to identify columns with a specific value and use drop(). For instance, to drop columns containing only zeros: df.drop(df.columns[(df == 0).all()], axis=1).


Free Resources

Copyright ©2025 Educative, Inc. All rights reserved