import pandas as pd
import numpy as np
my_dict={'NAME':['Ravi','Raju','Alex',None,'King',None],
'ID':[1,2,np.NaN,4,5,6],
'MATH':[80,40,70,70,82,30],
'ENGLISH':[81,70,40,50,np.NaN,30]}
df = pd.DataFrame(data=my_dict)
print(df.notnull())
Output : All None and NOT NaN values are masked to True and others are given as False
NAME ID MATH ENGLISH
0 False False False False
1 False False False False
2 False True False False
3 True False False False
4 False False False True
5 True False False False
Check for Not Null values and map them as True
import pandas as pd
import numpy as np
# Check your path for excel file
df = pd.read_excel('D:\student-isnull.xlsx')
print(df)
Output
id name class1 mark gender
0 1.0 John Deo Four 75.0 female
1 2.0 Max Ruin Three 85.0 male
2 NaN Arnold Three 55.0 male
3 4.0 Krish Star Four 60.0 female
4 NaN John Mike Four 60.0 female
5 6.0 Alex John Four 55.0 NaN
6 7.0 My John Rob Five 78.0 male
7 NaN NaN NaN NaN NaN
8 9.0 Tes Qry Six 78.0 male
9 10.0 NaN Four 55.0 female
10 11.0 Ronald Six NaN female
11 12.0 Recky Six 94.0 female
print(df.notnull().values.any())
Output ( returns True if any value in DataFrame is real data by using any() )
True
We can check any column for presence of any Not NaN or Not None value. print(df['name'].notnull().values.any()) # Output True
Two columns name and mark we will check for NaN or None value.
print(df[['name','mark']].notnull().values.any()) # Output True
In above case we can check all values by using all()
print(df[~df.notnull().any(axis=1)] ) # all columns with Null value
# rows not having Null in all columns
print(df.loc[df.notnull().any(axis=1) ])
Display where id column is not having NaN value
print(df[df['id'].notnull()])
Output ( all null values in id column are removed )
id name class1 mark gender
0 1.0 John Deo Four 75.0 female
1 2.0 Max Ruin Three 85.0 male
3 4.0 Krish Star Four 60.0 female
5 6.0 Alex John Four 55.0 NaN
6 7.0 My John Rob Five 78.0 male
8 9.0 Tes Qry Six 78.0 male
9 10.0 NaN Four 55.0 female
10 11.0 Ronald Six NaN female
11 12.0 Recky Six 94.0 female
Display where name column is not having NaN value
print(df[df['name'].notnull()])
Output ( two rows 7 & 9 are removed as they are having NaN data in Name column )
id name class1 mark gender
0 1.0 John Deo Four 75.0 female
1 2.0 Max Ruin Three 85.0 male
2 NaN Arnold Three 55.0 male
3 4.0 Krish Star Four 60.0 female
4 NaN John Mike Four 60.0 female
5 6.0 Alex John Four 55.0 NaN
6 7.0 My John Rob Five 78.0 male
8 9.0 Tes Qry Six 78.0 male
10 11.0 Ronald Six NaN female
11 12.0 Recky Six 94.0 female
Two columns not having NaN value.
print(df[df['id'].notnull() & df['name'].notnull()])
print(df['id'].notnull().sum()) # output 9
print(df['name'].notnull().sum()) # output 10
print(df['class1'].notnull().sum()) # output 11
print(df['mark'].notnull().sum()) # output 10
print(df['gender'].notnull().sum()) # output 10
We will count the number of not NaN for total DataFrame. First we will display the breakup of total number against each columns.
print(df.notnull().sum()) # output each column wise
Output
id 9
name 10
class1 11
mark 10
gender 10
For the total number of Not NaN of the DataFrame.
print(df.notnull().sum().sum()) # Output 50
Author & Instructor at plus2net
I write and maintain practical tutorials on Python, PHP, SQL, JavaScript, HTML, jQuery, and web development at plus2net. The tutorials focus on clear explanations, working examples, and code that readers can test and adapt while learning.