Let’s see the various methods to Remove last n rows of a Pandas Dataframe.
First, let’s make a dataframe:
# 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:
# 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:
# 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:
# 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:
# 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: