Count all rows or those that satisfy some condition in Pandas dataframe
Count rows in pandas: 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
- Pandas : Loop or Iterate over all or certain columns of a dataframe
- Pandas : How to merge Dataframes by index using Dataframe.merge()
- Pandas: 6 Different ways to iterate over rows in a Dataframe & Update while iterating row by row
Now lets see some other methods to count the rows in dataframe.
Count all rows in a Pandas Dataframe using Dataframe.shape
Pandas count rows in dataframe: 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
Pandas dataframe count rows: 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()
Count rows in pandas: 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.