To drop the last n
rows from the pandas DataFrame use either iloc[]
, drop()
, slicing[]
and head()
methods. In this article, I will explain how to drop/remove the last n rows from Pandas DataFrame with examples.
1. Quick Examples of Drop Last N Rows From Pandas DataFrame
If you are in a hurry, below are some quick examples of how to drop the last n rows from DataFrame.
# Below are a quick examples
# Number of rows to drop
n = 2
# By using DataFrame.iloc[] to drop last n rows
df2 = df.iloc[:-n]
# Using drop() function to delete last n rows
df.drop(df.tail(n).index,inplace = True)
# Slicing last n rows
df2 = df[:-n]
# Using DataFrame.head() function to drop last n rows
df2 = df.head(-n)
Now, let’s create a DataFrame with a few rows and columns, execute these examples and validate results. Our DataFrame contains column names Courses
, Fee
, Duration
, and Discount
.
import pandas as pd
technologies = {
'Courses':["Spark","PySpark","Python","pandas"],
'Fee' :[20000,25000,22000,24000],
'Duration':['30days','40days','35days','60days'],
'Discount':[1000,2300,2500,2000]
}
index_labels=['r1','r2','r3','r4']
df = pd.DataFrame(technologies,index=index_labels)
print(df)
Yields below output.
Courses Fee Duration Discount
r1 Spark 20000 30days 1000
r2 PySpark 25000 40days 2300
r3 Python 22000 35days 2500
r4 pandas 24000 60days 2000
2. Drop Last N Rows Using DataFrame.iloc[]
You can use DataFrame.iloc[]
the indexing syntax [:-n]
with n as an integer to select the rows excluding the last n rows from the pandas DataFrame which results in a drop of the last n rows. You can also use iloc[] to drop rows by Index from pandas DataFrame.
# By using DataFrame.iloc[] to drop last n rows
n = 2
df2 = df.iloc[:-n]
print(df2)
Yields below output.
Courses Fee Duration Discount
r1 Spark 20000 30days 1000
r2 PySpark 25000 40days 2300
3. Use DataFrame.drop() to Remove Last N Rows
By using DataFrame.drop()
method you can remove the last n rows from pandas DataFrame. Use index
param to specify the last index and inplace=True
to apply the change on the existing DataFrame. For instance, df.drop(df.tail(n).index,inplace=True)
.
# Using drop() function to delete last n rows
n = 3
df.drop(df.tail(n).index,inplace = True)
print(df)
Yields below output.
Courses Fee Duration Discount
r1 Spark 20000 30days 1000
4. Using Dataframe.slicing[] to Drop Last N Rows
Alternatively, You can also use df[:-n]
to slicing the last n rows of pandas DataFrame.
# Slicing last n rows
n = 2
df2 = df[:-n]
print(df2)
Yields below output.
Courses Fee Duration Discount
r1 Spark 20000 30days 1000
r2 PySpark 25000 40days 2300
5. Drop Last N Rows Using DataFrame.head() Function
You can also use df.head(-n)
to delete the last n rows of pandas DataFrame. Generally, DataFrame.head()
function is used to show the first n rows of a pandas DataFrame but you can pass a negative value to skip the rows from the bottom.
# Using DataFrame.head() function to drop last n rows
n = 2
df2 = df.head(-n)
print(df2)
Yields the same output as above.
6. Complete Example For Drop Last N Rows From DataFrame
import pandas as pd
technologies = {
'Courses':["Spark","PySpark","Python","pandas"],
'Fee' :[20000,25000,22000,24000],
'Duration':['30days','40days','35days','60days'],
'Discount':[1000,2300,2500,2000]
}
index_labels=['r1','r2','r3','r4']
df = pd.DataFrame(technologies,index=index_labels)
print(df)
# Number of rows to drop
n = 2
# By using DataFrame.iloc[] to drop last n rows
df2 = df.iloc[:-n]
print(df2)
# Number of rows to drop
n = 1
# Using drop() function to delete last n rows
df.drop(df.tail(n).index,
inplace = True)
print(df)
# Number of rows to drop
n = 2
# Slicing last n rows
df2 = df[:-n]
print(df2)
# Number of rows to drop
n = 2
# Using DataFrame.head() function to drop last n rows
df2 = df.head(-n)
print(df2)
Conclusion
In this article, you have learned how to drop the last n rows From Pandas DataFrame using DataFrame.iloc[], DataFrame.drop()
, DataFrame.head()
and Dataframe.slicing[]
function with examples.
Happy Learning !!
Related Articles
- How to Delete Last Row From Pandas DataFrame
- Drop Rows From Pandas DataFrame Examples
- Drop Single & Multiple Columns From Pandas DataFrame
- Delete Pandas DataFrame Rows Based on Column Value
- How to Get the Row Count From Pandas DataFrame
- Pandas Drop First Column From DataFrame
- Pandas Drop Last Column From DataFrame
- Pandas Drop Rows by Index
- Pandas Drop the First Row of DataFrame