Count all rows or those that satisfy some condition in Pandas dataframe
In this article we are going to show you how to count number of all rows in a DataFrame or rows that satisfy given condition in it.
First we are going to create dataframe,
import pandas as pd students = [('Ankit', 22, 'Up', 'Geu'), ('Ankita', 31, 'Delhi', 'Gehu'), ('Rahul', 16, 'Tokyo', 'Abes'), ('Simran', 41, 'Delhi', 'Gehu'), ('Shaurya', 33, 'Delhi', 'Geu'), ('Harshita', 35, 'Mumbai', 'Bhu' ), ('Swapnil', 35, 'Mp', 'Geu'), ('Priya', 35, 'Uk', 'Geu'), ('Jeet', 35, 'Guj', 'Gehu'), ('Ananya', 35, 'Up', 'Bhu') ] details = pd.DataFrame(students, columns =['Name', 'Age','Place', 'College'], index =['a', 'b', 'c', 'd', 'e','f', 'g', 'i', 'j', 'k']) print(details)
Output:
RESTART: C:/Users/HP/Desktop/dataframe.py Name    Age  Place   College a  Ankit     22   Up     Geu b  Ankita    31  Delhi    Gehu c  Rahul    16  Tokyo   Abes d  Simran   41   Delhi   Gehu e  Shaurya  33   Delhi   Geu f  Harshita  35   Mumbai Bhu g  Swapnil  35   Mp    Geu i  Priya     35   Uk     Geu j  Jeet     35   Guj    Gehu k  Ananya   35  Up     Bhu
Now lets see some other methods to count the rows in dataframe.
Count all rows in a Pandas Dataframe using Dataframe.shape
Dataframe.shape attribute gives a sequence of index or row labels
(Number_of_index, Number_of_columns)
Number of index basically means number of rows in the dataframe.Let’s use this to count number of rows in above created dataframe.
import pandas as pd students = [('Ankit', 22, 'Up', 'Geu'), ('Ankita', 31, 'Delhi', 'Gehu'), ('Rahul', 16, 'Tokyo', 'Abes'), ('Simran', 41, 'Delhi', 'Gehu'), ('Shaurya', 33, 'Delhi', 'Geu'), ('Harshita', 35, 'Mumbai', 'Bhu' ), ('Swapnil', 35, 'Mp', 'Geu'), ('Priya', 35, 'Uk', 'Geu'), ('Jeet', 35, 'Guj', 'Gehu'), ('Ananya', 35, 'Up', 'Bhu') ] details = pd.DataFrame(students, columns =['Name', 'Age','Place', 'College'], index =['a', 'b', 'c', 'd', 'e','f', 'g', 'i', 'j', 'k']) numOfRows = details.shape[0] print("Number of rows :",numOfRows)
Output:
RESTART: C:/Users/HP/Desktop/dataframe.py Number of rows : 10
Count all rows in a Pandas Dataframe using Dataframe.index
Dataframe.index attribute gives a sequence of index or row labels.We can calculate the length of that sequence to find out the number of rows in the dataframe.
import pandas as pd students = [('Ankit', 22, 'Up', 'Geu'), ('Ankita', 31, 'Delhi', 'Gehu'), ('Rahul', 16, 'Tokyo', 'Abes'), ('Simran', 41, 'Delhi', 'Gehu'), ('Shaurya', 33, 'Delhi', 'Geu'), ('Harshita', 35, 'Mumbai', 'Bhu' ), ('Swapnil', 35, 'Mp', 'Geu'), ('Priya', 35, 'Uk', 'Geu'), ('Jeet', 35, 'Guj', 'Gehu'), ('Ananya', 35, 'Up', 'Bhu') ] details = pd.DataFrame(students, columns =['Name', 'Age','Place', 'College'], index =['a', 'b', 'c', 'd', 'e','f', 'g', 'i', 'j', 'k']) numOfRows = len(details.index) print('Number of Rows in dataframe : ' , numOfRows)
Output:
RESTART: C:/Users/HP/Desktop/dataframe.py Number of rows : 10
Count rows in a Pandas Dataframe that satisfies a condition using Dataframe.apply()
This function apply to all the rows of a dataframe to find out if elements of rows satisfies a condition or not, Based on the result it returns a bool series.
import pandas as pd students = [('Ankit', 22, 'Up', 'Geu'), ('Ankita', 31, 'Delhi', 'Gehu'), ('Rahul', 16, 'Tokyo', 'Abes'), ('Simran', 41, 'Delhi', 'Gehu'), ('Shaurya', 33, 'Delhi', 'Geu'), ('Harshita', 35, 'Mumbai', 'Bhu' ), ('Swapnil', 35, 'Mp', 'Geu'), ('Priya', 35, 'Uk', 'Geu'), ('Jeet', 35, 'Guj', 'Gehu'), ('Ananya', 35, 'Up', 'Bhu') ] details = pd.DataFrame(students, columns =['Name', 'Age','Place', 'College'], index =['a', 'b', 'c', 'd', 'e','f', 'g', 'i', 'j', 'k']) seriesObj = details.apply(lambda x: True if x['Age'] > 30 else False , axis=1) numOfRows = len(seriesObj[seriesObj == True].index) print('Number of Rows in dataframe in which Age > 30 : ', numOfRows)
Output:
RESTART: C:/Users/HP/Desktop/dataframe.py Number of Rows in dataframe in which Age > 30 : 8
Want to expert in the python programming language? Exploring Python Data Analysis using Pandas tutorial changes your knowledge from basic to advance level in python concepts.
Read more Articles on Python Data Analysis Using Padas
- How to merge Dataframes using Dataframe.merge() in Python?
- How to merge Dataframes on specific columns or on index in Python?
- How to merge Dataframes by index using Dataframe.merge()?
- Count NaN or missing values in DataFrame
- 6 Different ways to iterate over rows in a Dataframe & Update while iterating row by row
- Loop or Iterate over all or certain columns of a DataFrame
- How to display full Dataframe i.e. print all rows & columns without truncation
Conclusion:
In this article we have seen different method to count rows in a dataframe all or those that satisfy a condition.
Happy learning guys.