In Pandas, you can drop multiple columns by index using the drop()
method. In this pandas drop multiple columns by index article, I will explain how to drop multiple columns by index with several DataFrame examples. You can drop columns by index by using the DataFrame.drop()
method and by using DataFrame.iloc[].columns
property to get the column names by index.
1. Quick Examples of Drop Multiple Columns by Index
If you are in a hurry, below are some quick examples of how to drop multiple columns by an index of DataFrame.
# Quick examples of drop multiple columns by index
# Example 1: Drop columns based on column index
df2 = df.drop(df.columns[[0, 1, 2]],axis = 1)
# Example 2: Drop column of index
# Using DataFrame.iloc[] and drop() methods
df2 = df.drop(df.iloc[:, 1:3],axis = 1)
# Example 3: Drop columns of index
# Using DataFrame.loc[] and drop() methods
df2 = df.drop(df.loc[:, 'Courses':'Fee'].columns,axis = 1)
Now, let’s create a Pandas DataFrame with a few rows and columns and execute some examples, and validate results. Our DataFrame contains column names Courses
, Fee
and Discount
.
# Create a Pandas DataFrame.
import pandas as pd
import numpy as np
technologies= {
'Courses':["Spark","Spark","PySpark","JAVA","Hadoop",".Net","Python","AEM","Oracle","SQL DBA","C","WebTechnologies"],
'Fee' :[22000,25000,23000,24000,26000,30000,27000,28000,35000,32000,20000,15000],
'Duration':['30days','35days','40days','45days','50days','55days','60days','35days','30days','40days','50days','55days']
}
df = pd.DataFrame(technologies)
print("Create DataFrame:\n", df)
Yields below output.
2. Pandas Drop Multiple Columns By Index
In this section, you’ll learn how to drop multiple columns by index in pandas. You can use df.columns[[index1, index2, indexn]]
to identify the list of column names in that index
position and pass that list to the drop method.
Note that an index is 0-based. Use 0 to delete the first column and 1 to delete the second column and so on.
# Drop columns based on column index
df2 = df.drop(df.columns[[1, 2]],axis = 1)
print("Dropping multiple columns by index:\n", df2)
Yields below output.
3. Drop Columns by Index Using iloc[] and drop() Methods
If you want to drop columns from starting and ending index ranges, you can do so by using the DataFrame.iloc[] property. This property returns all column names between specified indexes and passes these column names to the drop()
method.
# Drop column of index using DataFrame.iloc[] and drop() methods.
df2 = df.drop(df.iloc[:, 1:3],axis = 1)
print("Dropping multiple columns by index:\n", df2)
Yields below output.
# Output:
# Dropping multiple columns by index:
Courses
0 Spark
1 Spark
2 PySpark
3 JAVA
4 Hadoop
5 .Net
6 Python
7 AEM
8 Oracle
9 SQL DBA
10 C
11 WebTechnologies
4. Drop Columns by Index Using DataFrame.loc[] and drop() Methods
Similarly, you can drop columns by the range of labels using DataFrame.loc[] and DataFrame.drop() methods. Here the loc[]
property is used to access a group of rows and columns by label(s) or a boolean array.
# Drop columns of index using DataFrame.loc[] and drop() methods.
df2 = df.drop(df.loc[:, 'Courses':'Fee'].columns,axis = 1)
print("Dropping multiple columns by index:\n", df2)
Yields below output.
# Output:
# Dropping multiple columns by index:
Duration
0 30days
1 35days
2 40days
3 45days
4 50days
5 55days
6 60days
7 35days
8 30days
9 40days
10 50days
11 55days
5. Complete Examples Drop Multiple Columns By Index
# Create a Pandas DataFrame.
import pandas as pd
import numpy as np
technologies= {
'Courses':["Spark","Spark","PySpark","JAVA","Hadoop",".Net","Python","AEM","Oracle","SQL DBA","C","WebTechnologies"],
'Fee' :[22000,25000,23000,24000,26000,30000,27000,28000,35000,32000,20000,15000],
'Duration':['30days','35days','40days','45days','50days','55days','60days','35days','30days','40days','50days','55days']
}
df = pd.DataFrame(technologies)
print(df)
# Drop Multiple Columns by labels
df2 = df.drop(['Courses', 'Duration'],axis = 1)
print(df2)
# Drop columns based on column index
df2 = df.drop(df.columns[[0, 1, 2]],axis = 1)
print(df2)
# Drop column by index
# Using DataFrame.iloc[] and drop() methods
df2 = df.drop(df.iloc[:, 1:3],axis = 1)
print(df2)
# Drop columns by labels
# Using DataFrame.loc[] and drop() methods
df2 = df.drop(df.loc[:, 'Courses':'Fee'].columns,axis = 1)
print(df2)
Frequently Asked Questions on Drop Multiple Columns by Index
To drop multiple columns by index in Pandas, you can use the drop
method along with the column indices. For example, the columns_to_drop
list contains the indices of the columns you want to drop (in this case, columns with indices 1 and 3). The axis=1
argument indicates that you are dropping columns, and inplace=True
modifies the DataFrame in place.
In Pandas, the axis
parameter is used to specify whether an operation should be performed along rows (axis=0
) or columns (axis=1
). For the case of dropping columns by index using the drop
method, the axis=1
parameter signifies that you are operating along columns. When you use axis=1
, it indicates that the operation should be applied horizontally, affecting columns.
Setting inplace=True
modifies the DataFrame in place, meaning it directly changes the existing DataFrame instead of creating a new one. If you set inplace=False
(or omit it, as it defaults to False
), a new DataFrame with the specified columns removed will be returned.
An alternative method to drop columns by index in Pandas is to use the iloc
method. The iloc
method allows you to select rows and columns by integer position.
Conclusion
In this article, You have learned how to drop multiple columns by index using, DataFrame.drop()
Method and DataFrame.iloc[]
and DataFrame.loc[]
properties with some examples.
Related Articles
- Pandas Drop Rows by Index
- Pandas Series loc[] attribute
- Pandas Drop Index Column Explained
- Pandas loc[] attribute multiple conditions
- How to Slice Columns in Pandas DataFrame
- Pandas Sort by Column Values DataFrame
- Pandas iterate over the columns Of DataFrame
- Pandas Drop the First Row of the DataFrame
- How to drop Pandas Columns from DataFrame?
- Pandas Drop Multiple Columns From DataFrame
- How to Drop Duplicate Columns in Pandas DataFrame?
- Pandas Drop First/Last N Columns From DataFrame
- Drop Pandas first column from DataFrame
- Pandas Drop Columns with NaN or None Values
- Drop the last column from the DataFrame