Home »
Python »
Python Programs
How to count the NaN values in a column in Pandas DataFrame?
In this tutorial, we will learn how to count the NaN values in a column in Pandas DataFrame?
By Pranit Sharma Last updated : April 12, 2023
Overview
While creating a DataFrame or importing a CSV file, there could be some NaN values in the cells. NaN values mean "Not a Number" which generally means that there are some missing values in the cell. To deal with this type of data, you can either remove the particular row (if the number of missing values is low) or you can handle these values. For handling these values, you might need to count the number of NaN values.
Count the number of NaN values
To count the number of NaN values, you can use the sum() method over the isnull() method. Follow the below given steps:
Syntax
df.isnull().sum().sum()
Syntax Explained
- The isnull() method return a True or False value where True means that there is some missing data and False means that the data is not null. True and False are treated as 1 and 0 respectively.
- The sum() method returns the count of True values generated from the isnull() method.
Here, you have to use sum() method twice in order to count the NaN values in the entire dataset. First, it will count the NaN values in each column and second time it will add all the NaN values from all the columns.
Python code to count the NaN values in a column in Pandas DataFrame
# Importing pandas package
import pandas as pd
# To create NaN values, you must import numpy package,
# then you will use numpy.NaN to create NaN values
import numpy as np
# Creating a dictionary with some NaN values
d = {
"Name":['Hari','Mohan','Neeti','Shaily'],
"Age":[25,np.NaN,np.NaN,21],
"Gender":['Male','Male',np.NaN,'Female'],
"Profession":['Doctor','Teacher','Singer',np.NaN]
}
# Now we will create DataFrame
df = pd.DataFrame(d)
# Printing the original DataFrame
print("Original DataFrame:\n")
print(df,"\n\n")
# Counting NaN values
NAN=df.isnull().sum().sum()
# Now, Printing the Number of NaN values
print("Total NaN values:")
print(NAN)
Output
Original DataFrame:
Name Age Gender Profession
0 Hari 25.0 Male Doctor
1 Mohan NaN Male Teacher
2 Neeti NaN NaN Singer
3 Shaily 21.0 Female NaN
Total NaN values:
4
Python Pandas Programs »