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 printRangeIndex(start=0, stop=7, step=1)
– This will be passed to thelen()
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.
Table of Contents
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_name | Unit_Price | No_Of_Units | Available_Quantity | Available_Since_Date | |
---|---|---|---|---|---|
0 | Keyboard | 500 | 5 | 5 | 11/5/2021 |
1 | Mouse | 200 | 5 | 6 | 4/23/2021 |
2 | Monitor | 5000 | 10 | 10 | 08/21/2021 |
3 | CPU | 10000 | 20 | Not Available | 09/18/2021 |
4 | Speakers | 250.5 | 8 | NaT | 01/05/2021 |
5 | Speakers | 250.5 | 8 | NaT | 01/05/2021 |
6 | NaT | NaT | NaT | NaT | NaT |
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 rows1
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.