Pandas Check if DataFrame is Empty 🐼🔍


When working with data in Pandas, it's essential to check if a DataFrame is empty before performing further operations. An empty DataFrame can indicate various scenarios, such as an empty dataset or failed data retrieval.

In this article, we'll explore methods to determine if a Pandas DataFrame is empty and discuss practical use cases.


1. Using the empty Attribute

Pandas provides a convenient empty attribute, which returns True if the DataFrame is empty and False otherwise.

The following example uses the empty attribute on the df dataframe to check if it's empty.

import pandas as pd

# Create an empty DataFrame
df = pd.DataFrame()

# 👉 Check if the DataFrame is empty using the empty attribute
if df.empty:
    print("The DataFrame is empty!")
else:
    print("The DataFrame is not empty.")

Output:

The DataFrame is empty!

2. Using the len() Function

Another way to check if a DataFrame is empty is to use the len() function.

The len() function returns the number of rows in the DataFrame. If the DataFrame is empty, it will return 0.

Let's use the len() function to check if the df dataframe is empty.

import pandas as pd

# Create an empty DataFrame
df = pd.DataFrame()

# 👉 Check if the DataFrame is empty using the len() function
if len(df) == 0:
    print("The DataFrame is empty!")
else:
    print("The DataFrame is not empty.")

Output:

The DataFrame is empty!

3. Using the shape Attribute

The shape attribute in Pandas returns a tuple containing the number of rows and columns in the DataFrame. For example, if the DataFrame has 5 rows and 3 columns, the shape attribute will return (5, 3).

So, if the DataFrame is empty, the shape attribute will return (0, 0).

import pandas as pd

# Create an empty DataFrame
df = pd.DataFrame()

# 👉 Check if the DataFrame is empty using the shape attribute
if df.shape == (0, 0):
    print("The DataFrame is empty!")
else:
    print("The DataFrame is not empty.")

Output:

The DataFrame is empty!

4. Using the index Attribute

There is another dataframe that can be used to check if a DataFrame is empty, it is the index attribute.

If the DataFrame is empty, the index attribute returns an empty Index object.

In the following example we are using this attribute to find if dataframe is empty.

import pandas as pd

# Create an empty DataFrame
df = pd.DataFrame()

# 👉 Check if the DataFrame is empty using the index attribute
if df.index.empty:
    print("The DataFrame is empty!")
else:
    print("The DataFrame is not empty.")

Output:

The DataFrame is empty!

5. Checking Number of Columns

If a DataFrame is empty, it will have zero columns. So, we can check the number of columns in the DataFrame to determine if it's empty.

For this, use the columns attribute on the dataframe, it returns a list of all the columns in the DataFrame.

import pandas as pd

# Create an empty DataFrame
df = pd.DataFrame()

# 👉 Check if the DataFrame is empty using the columns attribute
if len(df.columns) == 0:
    print("The DataFrame is empty!")
else:
    print("The DataFrame is not empty.")

Output:

The DataFrame is empty!

Note: There may be dataframes with zero rows but one or more columns. They can also be considered empty. So, this method is not reliable.


Practical Use of Checking if DataFrame is Empty


Conclusion

By utilizing methods such as the empty attribute, len() function, or examining the number of columns, you can confidently handle empty datasets and streamline your data processing workflows.

Happy coding! 🚀🐼