Remove last n rows of a Pandas DataFrame
Last Updated :
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 pandas as pd
dict = {
'Name' : [ 'Sukritin' , 'Sumit Tyagi' , 'Akriti Goel' ,
'Sanskriti' , 'Abhishek Jain' ],
'Age' : [ 22 , 20 , 45 , 21 , 22 ],
'Marks' : [ 90 , 84 , - 33 , - 87 , 82 ]
}
df = pd.DataFrame( dict )
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 pandas as pd
dict = {
'Name' : [ 'Sukritin' , 'Sumit Tyagi' , 'Akriti Goel' ,
'Sanskriti' , 'Abhishek Jain' ],
'Age' : [ 22 , 20 , 45 , 21 , 22 ],
'Marks' : [ 90 , 84 , - 33 , - 87 , 82 ]
}
df = pd.DataFrame( dict )
n = 3
df.drop(df.tail(n).index,
inplace = True )
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 pandas as pd
dict = {
'Name' : [ 'Sukritin' , 'Sumit Tyagi' , 'Akriti Goel' ,
'Sanskriti' , 'Abhishek Jain' ],
'Age' : [ 22 , 20 , 45 , 21 , 22 ],
'Marks' : [ 90 , 84 , - 33 , - 87 , 82 ]
}
df = pd.DataFrame( dict )
n = 3
df_dropped_last_n = df.iloc[: - n]
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 pandas as pd
dict = {
'Name' : [ 'Sukritin' , 'Sumit Tyagi' , 'Akriti Goel' ,
'Sanskriti' , 'Abhishek Jain' ],
'Age' : [ 22 , 20 , 45 , 21 , 22 ],
'Marks' : [ 90 , 84 , - 33 , - 87 , 82 ]
}
df = pd.DataFrame( dict )
n = 3
df1 = df.head( - n)
print (df1)
|
Output:
Method 4: Using Dataframe slicing [ ].
Example:
Python3
import pandas as pd
dict = {
'Name' : [ 'Sukritin' , 'Sumit Tyagi' , 'Akriti Goel' ,
'Sanskriti' , 'Abhishek Jain' ],
'Age' : [ 22 , 20 , 45 , 21 , 22 ],
'Marks' : [ 90 , 84 , - 33 , - 87 , 82 ]
}
df = pd.DataFrame( dict )
n = 3
df1 = df[: - n]
print (df1)
|
Output:
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...