Remove last n rows of a Pandas DataFrame - GeeksforGeeks

29 Jul, 2021
Let’s see the various methods to Remove last n rows of a Pandas Dataframe.First, let’s make a dataframe:
Python3
# Import Required Librariesimport pandas as pd # Create a dictionary for the dataframedict = {  '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 Dataframedf = pd.DataFrame(dict) # Print Dataframeprint(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 Librariesimport pandas as pd # Create a dictionary for the dataframedict = {  '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 Dataframedf = pd.DataFrame(dict) # Number of rows to dropn = 3 # Dropping last n rows using dropdf.drop(df.tail(n).index,        inplace = True) # Printing dataframeprint(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 Librariesimport pandas as pd # Create a dictionary for the dataframedict = {  '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 Dataframedf = pd.DataFrame(dict) # Number of rows to dropn = 3 # Removing last n rowsdf_dropped_last_n = df.iloc[:-n] # Printing dataframeprint(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 Librariesimport pandas as pd # Create a dictionary for the dataframedict = {  '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 Dataframedf = pd.DataFrame(dict) # Number of rows to dropn = 3 # Using head() to# drop last n rowsdf1 = df.head(-n) # Printing dataframeprint(df1)
Output: 
 
Method 4: Using Dataframe slicing [ ].
Example:
Python3
# Import Required Librariesimport pandas as pd # Create a dictionary for the dataframedict = {  '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 Dataframedf = pd.DataFrame(dict) # Number of rows to dropn = 3 # Slicing last n rowsdf1 = df[:-n] # Printing dataframeprint(df1)
 
 
Output:  
 
 
surindertarika1234
Picked
Python pandas-basics
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
Read a file line by line in Python
How to Install PIP on Windows ?
Enumerate() in Python
Different ways to create Pandas Dataframe
Iterate over a list in Python
Python String | replace()
*args and **kwargs in Python
Reading and Writing to text files in Python
Create a Pandas DataFrame from Lists