How to Exclude Columns in Pandas (With Examples)


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.

Additional Resources

How to Add Rows to a Pandas DataFrame
How to Add a Numpy Array to a Pandas DataFrame
How to Count Number of Rows in Pandas DataFrame

Leave a Reply

Your email address will not be published.