Mask and Replace NaNs with a Specific Value in Pandas



To mask and replace NaNs with a specific value, use the index.putmask() method. Within that, set the index.isna() method.

At first, import the required libraries -

import pandas as pd
import numpy as np

Creating Pandas index with some NaNs −

index = pd.Index([5, 65, 10, np.nan, 75, np.nan])

Display the Pandas index −

print("Pandas Index...\n",index)

Mask and replace NaN index values with a specific value −

print("\nMask...\n",index.putmask(index.isna(), 111))

Example

Following is the code −

import pandas as pd
import numpy as np

# Creating Pandas index with some NaNs
index = pd.Index([5, 65, 10, np.nan, 75, np.nan])

# Display the Pandas index
print("Pandas Index...\n",index)

# Return the number of elements in the Index
print("\nNumber of elements in the index...\n",index.size)

# mask and replace NaN index values with a specific value
print("\nMask...\n",index.putmask(index.isna(), 111))

Output

This will produce the following output −

Pandas Index...
Float64Index([5.0, 65.0, 10.0, nan, 75.0, nan], dtype='float64')

Number of elements in the index...
6

Mask...
Float64Index([5.0, 65.0, 10.0, 111.0, 75.0, 111.0], dtype='float64')
Updated on: 2021-10-13T08:12:26+05:30

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements