Get Pandas DataFrame row count in 3 waysThe Pandas it’s a popular data manipulation library. The Pandas has over 15k stars on Github. It’s an open-source project that allows, among others: automatic and explicit data alignment, easy handling of missing data, Intelligent label-based slicing, indexing, and subsetting of large data sets, merging data sets, or flexible reshaping and pivoting of data sets There are 3 ways to get the row count from Pandas DataFrame. I will describe them all in this article. My preferred way is to use df.shape to get number of rows and columns. This method is fast and simple.

1. df.shape

Let’s create a simple DataFrame:

import pandas as pd

df = pd.DataFrame({"a": [1,2,3], "b": [4,5,6]})

The notebook view:

Create Pandas DataFrame

The simplest approach to get row count is to use df.shape. It returns the touple with a number of rows and columns:

nrows, ncols = df.shape

If you would like to get only the number of rows, you can try the following:

nrows, _ = df.shape

# or

nrows = df.shape[0]

2. len(df)

The fastest approach (slightly faster than df.shape) is just to call len(df) or len(df.index). Both approaches return the DataFrame row count, the same as the index length.

nrows = len(df)

# or

nrows = len(df.index)

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

We can use count() function to count a number of not null values. We can select the column by name or using df.columns list:

nrows = df["a"].count()

# or

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

It is the slowest method because it counts non-null values.

Below is the image with the code for all three methods: Get row count Pandas DataFrame


I’ve compared the performance of methods using timeit magic command in Jupyter Notebook.

The fastest approach is to use len(df.index). The slowest approach is to count non-null values with count().

Get row count Pandas DataFrame perofmance


Padas DataFrame is a great way to manipulate data (small or large). My preferred way is to use df.shape. The method is speedy and additionally provides information about a number of columns.

Robots Integration

Join our newsletter

Subscribe to our newsletter to receive product updates

Share your Python Notebooks with others


Articles you might find interesing

  1. 8 surprising ways how to use Jupyter Notebook
  2. Create a dashboard in Python with Jupyter Notebook
  3. Build Computer Vision Web App with Python
  4. Develop NLP Web App from Python Notebook
  5. Build dashboard in Python with updates and email notifications
  6. Share Jupyter Notebook with non-technical users