To remove the first column from a pandas DataFrame, you can use the drop() method by specifying the column name or its index. In this article, I will explain remove the first column from Pandas DataFrame by using either iloc[] property, drop(), pop() functions, and del keyword.
Key Points –
- Use the
drop()method in pandas to delete columns from a DataFrame. - Specify the column to drop either by its name or index using the appropriate parameter.
- Set
axis=1to indicate that you're dropping a column (by default,axis=0drops rows). - Utilize the
drop()method with the appropriate axis parameter (axis=1 or columns) to remove columns from the DataFrame. - Access column labels using the
.columnsattribute and column indexes using integer positions.
<a id="h-quick-examples-of-drop-first-column"></a>
Quick Examples of Drop First Column
Following are quick examples of removing the first column from Pandas DataFrame.
# Quick examples of drop first column
# Example 1: Drop first column of dataframe
# Using iloc[]
df2 = df.iloc[: , 1:]
# Example 2: select all columns
# Except the first column
df2 = df[df.columns[1:]]
# Example 3: Drop first column of dataframe
# Using drop()
df.drop(columns=df.columns[0], axis=1, inplace=True)
# Example 4: Using drop() function
# To delete first column
df2 = df.drop(df.columns[0],axis=1)
# Example 5: Use del keywords to drop
# First column of dataframe
del df[df.columns[0]]
# Example 6: Drop first column of dataframe
# Using pop()
df.pop(df.columns[0])
<a id="h-usage-of-drop-first-column-from-pandas-dataframe"></a>
Usage of Drop First Column From Pandas DataFrame
To drop the first column in a Pandas DataFrame, you have two common methods depending on whether you want to use position or column name.
First, let's create a Pandas DataFrame.
import pandas as pd
import numpy as np
technologies= ({
'Courses':["Spark","PySpark","Hadoop","Pandas"],
'Fee': [22000,25000,30000,35000],
'Duration':['30days','50days','40days','35days'],
'Discount':[1000,2000,2500,1500]
})
index_labels=['r1','r2','r3','r4']
df = pd.DataFrame(technologies,index=index_labels)
print("DataFrame:\n", df)
Yields below output.
<a id="h-drop-first-column-of-dataframe-using-iloc"></a>
Drop First Column of DataFrame Using iloc[]
To drop the first column of a DataFrame using iloc[], you can select all columns except the first one.
# Drop first column of dataframe
# Using iloc[]
df2 = df.iloc[: , 1:]
print("After dropping the first column:\n", df2)
In the above examples, df.iloc[:, 1:] selects all rows (:) and all columns starting from the second column index (1) onwards. By assigning this selection back to the variable df, you effectively drop the first column from the DataFrame.
<a id="h-drop-first-column-of-dataframe-using-drop"></a>
Drop First Column of DataFrame Using drop()
To drop the first column of a DataFrame using the drop() method, you can specify the column to drop either by its name or index.
# Drop first column of dataframe using drop()
df.drop(columns=df.columns[0], axis=1, inplace=True)
print("After dropping the first column:\n", df)
# Using drop() function to delete first column
df2 = df.drop(df.columns[0],axis=1)
print("After dropping the first column:\n", df2)
# Output:
# After dropping the first column:
# Fee Duration Discount
# r1 22000 30days 1000
# r2 25000 50days 2000
# r3 30000 40days 2500
# r4 35000 35days 1500
In the above examples, drop the first column of the DataFrame df using the drop() function. df.columns[0] selects the name of the first column, and axis=1 specifies that you are dropping a column. Finally, by assigning the result back to the variable df, the first column is effectively dropped from the DataFrame.
<a id="h-use-del-keyword-to-drop-the-first-column"></a>
Use del Keyword to Drop the First Column
Alternatively, you can also use del df[df.columns[0]] to remove the first column of the Pandas DataFrame. Here, it will select all columns except the first column of DataFrame.
# Use del keywords to drop
# First column of dataframe
del df[df.columns[0]]
print("After dropping the first column:\n", df)
# Output:
# After dropping the first column:
# Fee Duration Discount
# r1 22000 30days 1000
# r2 25000 50days 2000
# r3 30000 40days 2500
# r4 35000 35days 1500
In the above examples, del df[df.columns[0]] remove the first column of the DataFrame df by selecting it using df.columns[0]. After executing this line, the first column is deleted from the DataFrame.
<a id="h-drop-the-first-column-of-dataframe-using-pop"></a>
Drop the First Column of DataFrame Using pop()
Similarly, you can use DataFrame.pop() function to drop the first column of pandas DataFrame and also return the remove column as a series. So, you can select the first column of DataFrame by using df.columns[0] and passing this to the pop(), it will select all columns except the first column of DataFrame.
# Drop first column of dataframe using pop()
df.pop(df.columns[0])
print("After dropping the first column:\n", df)
# Output:
# After dropping the first column:
# Fee Duration Discount
# r1 22000 30days 1000
# r2 25000 50days 2000
# r3 30000 40days 2500
# r4 35000 35days 1500
In the above examples, df.pop(df.columns[0]) drops the first column of the DataFrame df and returns it. The returned column is assigned to the variable df, and the modified DataFrame without the first column is printed.
<a id="h-complete-example-for-remove-first-column"></a>
Complete Example For Remove First Column
import pandas as pd
import numpy as np
technologies= ({
'Courses':["Spark","PySpark","Hadoop","Pandas"],
'Fee': [22000,25000,30000,35000],
'Duration':['30days','50days','40days','35days'],
'Discount':[1000,2000,2500,1500]
})
index_labels=['r1','r2','r3','r4']
df = pd.DataFrame(technologies,index=index_labels)
print(df)
# Drop first column of dataframe
# Using iloc[]
df2 = df.iloc[: , 1:]
print(df2)
# Select all columns
# Except the first column
df2 = df[df.columns[1:]]
print(df2)
# Drop first column of dataframe using drop()
df.drop(columns=df.columns[0], axis=1, inplace=True)
print(df)
# Using drop() function to delete first column
df2 = df.drop(df.columns[0],axis=1)
print(df2)
# Use del keywords to drop
# First column of dataframe
del df[df.columns[0]]
print(df)
# Drop first column of dataframe
# Using pop()
df.pop(df.columns[0])
print(df)
<a id="h-frequently-asked-questions"></a>
Frequently Asked Questions
You can use integer indexing to drop the first column without explicitly specifying the column name. For example, df1 = df.drop(df.columns[0], axis=1)
If you don’t know the name of the first column, you can access it using df.columns[0] and then use the drop() method.
You can drop multiple columns at once by passing a list of column names to the drop() method.
The axis parameter in the drop() method specifies whether to drop labels from the rows (axis=0) or columns (axis=1). When you set axis=1, you are indicating that you want to drop a column.
You can use the slicing technique to drop the first N columns from the DataFrame. For example,
n = 3
df = df.iloc[:, n:]
<a id="h-conclusion"></a>
Conclusion
In this article, we explored various functions to drop the first column from a Pandas DataFrame. We demonstrated how to use iloc[], drop(), pop(), and the del keyword, each with practical examples.
Happy Learning !!
Related Articles
- Drop multiple columns by index
- Pandas Series loc[] Function
- Pandas loc[] multiple conditions
- Pandas Difference Between loc[] vs iloc[]
- Pandas Delete Last Row From DataFrame
- Pandas Drop Last N Rows From DataFrame
- How to drop first row from the Pandas DataFrame
- Pandas Drop First Three Rows From DataFrame
- Pandas Drop Multiple Columns From DataFrame
- Pandas – Check If a Column Exists in DataFrame
- Pandas – Check Any Value is NaN in DataFrame
- How to Drop Duplicate Columns in Pandas DataFrame?
