15.1 C
London
Friday, July 5, 2024
HomePandas in PythonDataFrame Functions in PythonHow to Use Pandas fillna() to Replace NaN Values

How to Use Pandas fillna() to Replace NaN Values

Related stories

Learn About Opening an Automobile Repair Shop in India

Starting a car repair shop is quite a good...

Unlocking the Power: Embracing the Benefits of Tax-Free Investing

  Unlocking the Power: Embracing the Benefits of Tax-Free Investing For...

Income Splitting in Canada for 2023

  Income Splitting in Canada for 2023 The federal government’s expanded...

Can I Deduct Home Office Expenses on my Tax Return 2023?

Can I Deduct Home Office Expenses on my Tax...

Canadian Tax – Personal Tax Deadline 2022

  Canadian Tax – Personal Tax Deadline 2022 Resources and Tools...

You can use the fillna() function to replace NaN values in a pandas DataFrame.

This function uses the following basic syntax:

#replace NaN values in one column
df['col1'] = df['col1'].fillna(0)

#replace NaN values in multiple columns
df[['col1', 'col2']] = df[['col1', 'col2']].fillna(0) 

#replace NaN values in all columns
df = df.fillna(0)

This tutorial explains how to use this function with the following pandas DataFrame:

import numpy as np
import pandas as pd

#create DataFrame with some NaN values
df = pd.DataFrame({'rating': [np.nan, 85, np.nan, 88, 94, 90, 76, 75, 87, 86],
                   'points': [25, np.nan, 14, 16, 27, 20, 12, 15, 14, 19],
                   'assists': [5, 7, 7, np.nan, 5, 7, 6, 9, 9, 5],
                   'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view DataFrame
df

        rating	points	assists	rebounds
0	NaN	25.0	5.0	11
1	85.0	NaN	7.0	8
2	NaN	14.0	7.0	10
3	88.0	16.0	NaN	6
4	94.0	27.0	5.0	6
5	90.0	20.0	7.0	9
6	76.0	12.0	6.0	6
7	75.0	15.0	9.0	10
8	87.0	14.0	9.0	10
9	86.0	19.0	5.0	7

Example 1: Replace NaN Values in One Column

The following code shows how to replace the NaN values with zeros in the “rating” column:

#replace NaNs with zeros in 'rating' column
df['rating'] = df['rating'].fillna(0)

#view DataFrame 
df

	rating	points	assists	rebounds
0	0.0	25.0	5.0	11
1	85.0	NaN	7.0	8
2	0.0	14.0	7.0	10
3	88.0	16.0	NaN	6
4	94.0	27.0	5.0	6
5	90.0	20.0	7.0	9
6	76.0	12.0	6.0	6
7	75.0	15.0	9.0	10
8	87.0	14.0	9.0	10
9	86.0	19.0	5.0	7

Example 2: Replace NaN Values in Multiple Columns

The following code shows how to replace the NaN values with zeros in both the “rating” and “points” columns:

#replace NaNs with zeros in 'rating' and 'points' columns
df[['rating', 'points']] = df[['rating', 'points']].fillna(0)

#view DataFrame
df

	rating	points	assists	rebounds
0	0.0	25.0	5.0	11
1	85.0	0.0	7.0	8
2	0.0	14.0	7.0	10
3	88.0	16.0	NaN	6
4	94.0	27.0	5.0	6
5	90.0	20.0	7.0	9
6	76.0	12.0	6.0	6
7	75.0	15.0	9.0	10
8	87.0	14.0	9.0	10
9	86.0	19.0	5.0	7

Example 3: Replace NaN Values in All Columns

The following code shows how to replace the NaN values in every column with zeros:

#replace NaNs with zeros in all columns 
df = df.fillna(0)

#view DataFrame
df

        rating	points	assists	rebounds
0	0.0	25.0	5.0	11
1	85.0	0.0	7.0	8
2	0.0	14.0	7.0	10
3	88.0	16.0	0.0	6
4	94.0	27.0	5.0	6
5	90.0	20.0	7.0	9
6	76.0	12.0	6.0	6
7	75.0	15.0	9.0	10
8	87.0	14.0	9.0	10
9	86.0	19.0	5.0	7

You can find the complete online documentation for the fillna() function here.

Additional Resources

The following tutorials explain how to perform other common operations in pandas:

How to Count Missing Values in Pandas
How to Drop Rows with NaN Values in Pandas
How to Drop Rows that Contain a Specific Value in Pandas

Subscribe

- Never miss a story with notifications

- Gain full access to our premium content

- Browse free from up to 5 devices at once

Latest stories