Skip to content
Related Articles

Related Articles

Remove last n rows of a Pandas DataFrame
  • Last Updated : 18 Aug, 2020
GeeksforGeeks - Summer Carnival Banner

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 Datarame.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: 
 


Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :