Pandas: Get last N rows of dataframe

In this article, we will learn about different ways to get the last N rows of dataframe in pandas.

Get last N rows of dataframe in pandas using iloc[]

Before jumping into the solution, let’s last have a brief view of the dataframe’s iloc.

Overview of dataframe iloc[]

In Pandas, the dataframe class has an attribute iloc[] for location based indexing i.e.

dataframe.iloc[row_section, col_section]
dataframe.iloc[row_section]
  • row_section: It can be,
    • A row number
    • A list of row numbers
    • A range of row numbers like start:end i.e. inlcude rows from number start to end-1.
  • column_section: It can be
    • A column number
    • A column of row numbers
    • A range of column numbers like start:end i.e. inlcude column from number start to end-1.

It selects a slice of the dataframe based on the row numbers & column numbers provided in these row & column sections. If you to include all columns and focus just on selecting few rows, then you can skip the column section.

Advertisements

Get last N rows of pandas dataframe

To select the last n rows of the dataframe using iloc[], we can skip the column section and in row section pass a range of column numbers i.e. -N to end. It will select the last N rows,

df.iloc[-N:]

Here, we used the negative indexing i.e. we started from -N, which is nth row from last and then we went till the end. Therefore it selected only the last N rows of the dataframe.

Complete example

Let’s see an example, where we will select and print the last 3 rows of a dataframe using iloc[],

import pandas as pd

# List of Tuples
employees = [('Jack',    34, 'Sydney',   5),
            ('Shaun',   31, 'Delhi' ,   7),
            ('Meera',   29, 'Tokyo' ,   3),
            ('Mark',    33, 'London' ,  9),
            ('Shachin', 16, 'London',   3),
            ('Eva',     41, 'Delhi' ,   4)]

# Create a DataFrame object
df = pd.DataFrame(  employees, 
                    columns=['Name', 'Age', 'City', 'Experience'])

print("Contents of the Dataframe : ")
print(df)

N = 3
# Select last N rows of the dataframe as a dataframe object
last_n_rows = df.iloc[-N:]

print("last N rows Of Dataframe: ")
print(last_n_rows)

Output:

Contents of the Dataframe : 
      Name  Age    City  Experience
0     Jack   34  Sydney           5
1    Shaun   31   Delhi           7
2    Meera   29   Tokyo           3
3     Mark   33  London           9
4  Shachin   16  London           3
5      Eva   41   Delhi           4

last N rows Of Dataframe: 
      Name  Age    City  Experience
3     Mark   33  London           9
4  Shachin   16  London           3
5      Eva   41   Delhi           4

We selected the last three rows of the dataframe as a dataframe and printed it.

Get last N rows of a dataframe using tail()

In Pandas, the dataframe provides a function tail(n). It returns the last N rows of dataframe. We can use it to get only the last N row of the dataframe,

df.tail(N)

It will return the last N rows of dataframe as a dataframe object.

Let’s see a complete example,

import pandas as pd

# List of Tuples
employees = [('Jack',    34, 'Sydney',   5),
            ('Shaun',   31, 'Delhi' ,   7),
            ('Meera',   29, 'Tokyo' ,   3),
            ('Mark',    33, 'London' ,  9),
            ('Shachin', 16, 'London',   3),
            ('Eva',     41, 'Delhi' ,   4)]

# Create a DataFrame object
df = pd.DataFrame(  employees, 
                    columns=['Name', 'Age', 'City', 'Experience'])

print("Contents of the Dataframe : ")
print(df)

N = 3
# Select last N rows of the dataframe 
last_n_rows = df.tail(N)

print("last N rows Of Dataframe: ")
print(last_n_rows)

Output:

Contents of the Dataframe : 
      Name  Age    City  Experience
0     Jack   34  Sydney           5
1    Shaun   31   Delhi           7
2    Meera   29   Tokyo           3
3     Mark   33  London           9
4  Shachin   16  London           3
5      Eva   41   Delhi           4

last N rows Of Dataframe:
      Name  Age    City  Experience
3     Mark   33  London           9
4  Shachin   16  London           3
5      Eva   41   Delhi           4

Using the tail() function, we fetched the last 3 rows of dataframe as a dataframe and then just printed it.

Get last N rows of dataframe with specific columns

Suppose we are want the last 3 rows of dataframe but it should include only 2 specified columns. lets see how to do that,

import pandas as pd

# List of Tuples
employees = [('Jack',    34, 'Sydney',   5),
            ('Shaun',   31, 'Delhi' ,   7),
            ('Meera',   29, 'Tokyo' ,   3),
            ('Mark',    33, 'London' ,  9),
            ('Shachin', 16, 'London',   3),
            ('Eva',     41, 'Delhi' ,   4)]

# Create a DataFrame object
df = pd.DataFrame(  employees, 
                    columns=['Name', 'Age', 'City', 'Experience'])

print("Contents of the Dataframe : ")
print(df)

N = 3
# Select last N rows of the dataframe 
last_n_rows = df[['Name', 'City']].tail(N)

print("last N rows Of Dataframe: ")
print(last_n_rows)

Output:

Contents of the Dataframe : 
      Name  Age    City  Experience
0     Jack   34  Sydney           5
1    Shaun   31   Delhi           7
2    Meera   29   Tokyo           3
3     Mark   33  London           9
4  Shachin   16  London           3
5      Eva   41   Delhi           4

last N rows Of Dataframe: 
      Name    City
3     Mark  London
4  Shachin  London
5      Eva   Delhi

We last selected two columns of the dataframe i.e. Name & City as a dataframe object and then we called the tail(3) function on that to select last 3 enteries of that dataframe.

Summary:

We learned about different ways to get the last N rows of dataframe in pandas.

Pandas Tutorials -Learn Data Analysis with Python

   

Are you looking to make a career in Data Science with Python?

Data Science is the future, and the future is here now. Data Scientists are now the most sought-after professionals today. To become a good Data Scientist or to make a career switch in Data Science one must possess the right skill set. We have curated a list of Best Professional Certificate in Data Science with Python. These courses will teach you the programming tools for Data Science like Pandas, NumPy, Matplotlib, Seaborn and how to use these libraries to implement Machine learning models.

Checkout the Detailed Review of Best Professional Certificate in Data Science with Python.

Remember, Data Science requires a lot of patience, persistence, and practice. So, start learning today.

Join a LinkedIn Community of Python Developers

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top