How to Exclude Columns in Pandas (With Examples)

Excluding columns in Pandas is easy to do. You can do it by either selecting the column names you want to exclude as a list, or by indexing the columns you want to keep in the dataframe. You can also use the drop() method and specify the column names you want to exclude. All of these methods provide a quick and efficient way to select the columns you’re interested in.


You can use the following syntax to exclude columns in a pandas DataFrame:

#exclude column1
df.loc[:, df.columns!='column1']

#exclude column1, column2, ...
df.loc[:, ~df.columns.isin(['column1', 'column2', ...])]

The following examples show how to use this syntax in practice.

Example 1: Exclude One Column

The following code shows how to select all columns except one in a pandas DataFrame:

import pandas as pd

#create DataFrame 
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12],
                   'blocks': [2, 3, 3, 5, 3, 2, 1, 2]})

#view DataFrame
df

	points	assists	rebounds blocks
0	25	5	11	 2
1	12	7	8	 3
2	15	7	10	 3
3	14	9	6	 5
4	19	12	6	 3
5	23	9	5	 2
6	25	9	9	 1
7	29	4	12	 2

#select all columns except 'rebounds'
df.loc[:, df.columns!='rebounds']

        points	assists	blocks
0	25	5	2
1	12	7	3
2	15	7	3
3	14	9	5
4	19	12	3
5	23	9	2
6	25	9	1
7	29	4	2

Example 2: Exclude Multiple Columns

The following code shows how to select all columns except specific ones in a pandas DataFrame:

import pandas as pd

#create DataFrame 
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12],
                   'blocks': [2, 3, 3, 5, 3, 2, 1, 2]})

#view DataFrame
df

	points	assists	rebounds blocks
0	25	5	11	 2
1	12	7	8	 3
2	15	7	10	 3
3	14	9	6	 5
4	19	12	6	 3
5	23	9	5	 2
6	25	9	9	 1
7	29	4	12	 2

#select all columns except 'rebounds' and 'assists'
df.loc[:, ~df.columns.isin(['rebounds', 'assists'])]

	points	blocks
0	25	2
1	12	3
2	15	3
3	14	5
4	19	3
5	23	2
6	25	1
7	29	2

Using this syntax, you can exclude any number of columns that you’d like by name.

x