Open In App

Select all columns, except one given column in a Pandas DataFrame

Last Updated : 13 Oct, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

DataFrame Data structure are the heart of Pandas library. DataFrames are basically two dimension Series object. They have rows and columns with rows representing the index and columns representing the content. Now, let’s see how to Select all columns, except one given column in Pandas DataFrame in Python.

Creating a DataFrame:

Python3




# import pandas library
import pandas as pd
 
# create a Dataframe
data = pd.DataFrame({
    'course_name': ['Data Structures', 'Python',
                    'Machine Learning'],
    'student_name': ['A', 'B',
                     'C'],
    'student_city': ['Chennai', 'Pune',
                     'Delhi'],
    'student_gender': ['M', 'F',
                       'M'] })
# show the Dataframe
data


Output:

DataFrame

DataFrame

Using loc[] to select all columns, except one given column

This GeeksForGeeks Dataframe is just a two dimension array with numerical index. Therefore, to except only one column we could use the columns methods to get all columns and use a not operator to exclude the columns which are not needed. This method works only when the Dataframe is not multi indexed (did not have more than one index). 

Example 1: Using Dataframe.loc[ ] with ‘!=’

Python3




df = data.loc[ : , data.columns != 'student_gender']
 
# show the dataframe
df


Output:

filtered student_gender column

Example 2: Using Dataframe.loc[ ] with isin

Python3




df= data.loc[:, ~data.columns.isin(['student_gender'])]
 
# showing the dataframe
df


Output:

filtered student_gender column

filtered student_gender column

Using drop() Method to select all columns, except one given column

Dataframe supports drop() method to drop a particular column. It accepts two arguments, column/row name and axis

Example: Select all columns, except one ‘student_city’ column in  Pandas Dataframe.

Python3




# drop method
df = data.drop('student_city',
               axis = 1)
  
# show the dataframe
df


Output:

student_city column removed

student_city column removed

Using Series.difference() to select all columns, except one given column

Using Series.difference() method and [ ] operator together. Series.difference() Method returns a new Index with elements from the index that are not in other.

Example: Select all columns, except one ‘student_name’ column in Pandas Dataframe.

Python3




df = data[data.columns.difference(['student_name'])]
 
# show the dataframe
df


Output:

filtered student_name column

filtered student_name column



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads