Open In App

Remove last n rows of a Pandas DataFrame

Improve
Improve
Like Article
Like
Save
Share
Report

Let’s see the various methods to Remove last n rows of a Pandas Dataframe.
First, let’s make a dataframe:

Python3




# Import Required Libraries
import pandas as pd
 
# Create a dictionary for the dataframe
dict = {
  'Name': ['Sukritin', 'Sumit Tyagi', 'Akriti Goel',
           'Sanskriti', 'Abhishek Jain'],
  'Age': [22, 20, 45, 21, 22],
   'Marks': [90, 84, -33, -87, 82]
}
 
# Converting Dictionary to
# Pandas Dataframe
df = pd.DataFrame(dict)
 
# Print Dataframe
print(df)


 

 

Output: 

 

 

Method 1: Using Dataframe.drop() .
We can remove the last n rows using the drop() method. drop() method gets an inplace argument which takes a boolean value. If inplace attribute is set to True then the dataframe gets updated with the new value of dataframe (dataframe with last n rows removed).

 

Example:

 

Python3




# Import Required Libraries
import pandas as pd
 
# Create a dictionary for the dataframe
dict = {
  'Name': ['Sukritin', 'Sumit Tyagi', 'Akriti Goel',
           'Sanskriti', 'Abhishek Jain'],
  'Age': [22, 20, 45, 21, 22],
   'Marks': [90, 84, -33, -87, 82]
}
 
# Converting Dictionary to
# Pandas Dataframe
df = pd.DataFrame(dict)
 
# Number of rows to drop
n = 3
 
# Dropping last n rows using drop
df.drop(df.tail(n).index,
        inplace = True)
 
# Printing dataframe
print(df)


Output: 

 

Method 2: Using Dataframe.iloc[ ].

This method is used when the index label of a data frame is something other than numeric series of 0, 1, 2, 3….n or in case the user doesn’t know the index label. 

Example:

Python3




# Import Required Libraries
import pandas as pd
 
# Create a dictionary for the dataframe
dict = {
  'Name': ['Sukritin', 'Sumit Tyagi', 'Akriti Goel',
           'Sanskriti', 'Abhishek Jain'],
  'Age': [22, 20, 45, 21, 22],
   'Marks': [90, 84, -33, -87, 82]
}
 
# Converting Dictionary to
# Pandas Dataframe
df = pd.DataFrame(dict)
 
# Number of rows to drop
n = 3
 
# Removing last n rows
df_dropped_last_n = df.iloc[:-n]
 
# Printing dataframe
print(df_dropped_last_n)


 

 

Output: 

 

 

 

 

Method 3: Using Dataframe.head().

 

This method is used to return top n (5 by default) rows of a data frame or series.

 

Example:

 

Python3




# Import Required Libraries
import pandas as pd
 
# Create a dictionary for the dataframe
dict = {
  'Name': ['Sukritin', 'Sumit Tyagi', 'Akriti Goel',
           'Sanskriti', 'Abhishek Jain'],
  'Age': [22, 20, 45, 21, 22],
   'Marks': [90, 84, -33, -87, 82]
}
 
# Converting Dictionary to
# Pandas Dataframe
df = pd.DataFrame(dict)
 
# Number of rows to drop
n = 3
 
# Using head() to
# drop last n rows
df1 = df.head(-n)
 
# Printing dataframe
print(df1)


Output: 

 

Method 4: Using Dataframe slicing [ ].

Example:

Python3




# Import Required Libraries
import pandas as pd
 
# Create a dictionary for the dataframe
dict = {
  'Name': ['Sukritin', 'Sumit Tyagi', 'Akriti Goel',
           'Sanskriti', 'Abhishek Jain'],
  'Age': [22, 20, 45, 21, 22],
   'Marks': [90, 84, -33, -87, 82]
}
 
# Converting Dictionary to
# Pandas Dataframe
df = pd.DataFrame(dict)
 
# Number of rows to drop
n = 3
 
# Slicing last n rows
df1 = df[:-n]
 
# Printing dataframe
print(df1)


 

 

Output: 
 

 

 



Last Updated : 29 Jul, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads