How to Get Number of Rows in Pandas Dataframe – Definitive Guide

When using Pandas dataframe to store and process your data, you may need to get a number of rows available in the dataframe.

You can get the number of rows in the pandas dataframe using len(df.index) method.

In this tutorial, you’ll learn how to get the number of rows in the pandas dataframe.

If you’re in Hurry

You can use the len() function to count the number of rows in the dataframe.

The length function returns the length of the passed index or series.

len(df.index)

where,

  • Index means range of cells.
  • df.index will print RangeIndex(start=0, stop=7, step=1) – This will be passed to the len() function to calculate the length of this range.

Using the len() function is the fastest way to count the number of rows in the dataframe.

Output

7

If You Want to Understand Details, Read on…

In this tutorial, you’ll learn the different methods available to count the rows available in the pandas dataframe.

Sample Dataframe

This is the sample dataframe used throughout the tutorial.

It contains,

  • rows with values
  • rows with Missing data
  • some duplicate rows

This can be used to demonstrate various ways of counting rows in various scenarios.

## pandas dataframe get row count

import pandas as pd
import numpy as np

data = {"product_name":["Keyboard","Mouse", "Monitor", "CPU", "Speakers","Speakers",pd.NaT],

        "Unit_Price":[500,200, 5000, 10000, 250.50,250.50,pd.NaT],

        "No_Of_Units":[5,5, 10, 20, 8,8,pd.NaT],

        "Available_Quantity":[5,6,10,"Not Available", pd.NaT,pd.NaT,pd.NaT],

        "Available_Since_Date":['11/5/2021', '4/23/2021', 
'08/21/2021','09/18/2021','01/05/2021','01/05/2021',pd.NaT]
       }


df = pd.DataFrame(data)

df

Dataframe Looks Like

product_nameUnit_PriceNo_Of_UnitsAvailable_QuantityAvailable_Since_Date
0Keyboard5005511/5/2021
1Mouse200564/23/2021
2Monitor5000101008/21/2021
3CPU1000020Not Available09/18/2021
4Speakers250.58NaT01/05/2021
5Speakers250.58NaT01/05/2021
6NaTNaTNaTNaTNaT

Let’s look at the different use-cases and methods to get the number of rows in the dataframe.

There is number of ways to get the row count of the dataframe. Let’s discuss.

Using Len() function

You can use the len() function to get the row count in the pandas dataframe.

It accepts a single parameter as series or index.

You can pass the dataframe index using df.index to count the number of rows in the dataframe as shown below.

Code

len(df.index)

Output

    7

Using Shape() Attribute

You can also use the shape() function to count the number of rows.

The shape() function internally uses the len() function to calculate the size of the passed index.

With shape(), you can calculate the length of rows as well as columns.

Use,

  • 0 to count number of rows
  • 1 to count number of columns

Code

df.shape[0] 

Output

    7

You can also count both rows and columns length using shape by just using the shape property without passing the axes.

Code

df.shape

Output

(7, 5)

The output shows there are 7 rows and 5 columns in the dataframe.

Using Count()

You can count the number of rows in the dataframe using the count() function as well.

count() will not count the NA or missing values. Hence, you can use this when you want to count only the columns with non-empty values.

Code

df[df.columns[0]].count()

Output

    7

Count Rows Based On Column Value

You can count rows based on column value by specifying the column value and using the shape attribute.

In the below example, you’re calculating the number of rows where the Unit_Price is greater than 1000.

Code

df[df.Unit_Price > 1000].shape[0]

There are two values in the Unit_Price column which is greater than 1000. Hence you’re seeing the output 2.

Output

    2

This is how you can count rows based on column value.

Next, you’ll get a row count between two values.

Count Rows Between Two Values

In this section, you’ll count the number of rows with values which is between the range of two values.

In the example below, you’re counting the number of rows where the unit_price is between 1000 and 6000.

Code

df[(df.Unit_Price > 1000) & (df.Unit_Price > 6000)].shape[0]

There is one value in the Unit_Price column that is greater than 1000 and less than 6000. Hence you’ll see the output as 1.

Output

    1

This is how you can count rows between two values.

Next, let’s see about the two equal columns.

Count Rows Where Two Columns Are Equal

In this section, you’ll count rows where two columns are equal.

In the example, you’re counting the number of rows where the columns No_of_units and Available_Quantity have equal values.

Code

df[(df.No_Of_Units) == (df.Available_Quantity)].shape[0]

There are two rows in the dataframe where the columns No_of_units and Available_Quantity have equal values. Hence, you’ll see the output as 2.

Output

    2

This is how you can count rows with two columns having equal value.

Next, let’s see about counting rows with a specific value.

Count Number of Rows with Specific Value

In this section, you’ll learn how to count rows that have a specific value in columns.

  • You can do this by specifying the condition in the dataframe and using the shape attribute.

Code

In the example, you’re counting the number of rows where the column No_Of_Units is having the value 5.

df[(df.No_Of_Units) == 5].shape[0]

There are two rows in the sample dataframe where the column No_Of_Units is having the value 5. Hence you’ll see the output 2.

Output

    2

This is how you can count rows where the column has a specific value.

Additional Resources

Leave a Comment