Fill missing values in Pandas

The “fillna” function in Pandas not only can replace missing values with a given constant value, like in this example:

1
2
3
4
import pandas as pd
import numpy as np
df = pd.DataFrame([[np.nan], [2], [np.nan], [0]])
df
A dataframe with missing values
A dataframe with missing values
1
df.fillna(47)
Missing values replaced with a constant
Missing values replaced with a constant

You can also replace a missing value with the next (or previous) value in the data frame!

1
df.fillna(method = "ffill")
Missing values filled with the previous existing value.
Missing values filled with the previous existing value.

Note that the first value cannot be replaced because nothing is preceding it.

You can also use the value of the next row to fill a missing value.

1
df.fillna(method = "bfill")
Missing values filled with the next existing value.
Missing values filled with the next existing value.

Remember to share on social media!
If you like this text, please share it on Facebook/Twitter/LinkedIn/Reddit or other social media.

If you watch programming live streams, check out my YouTube channel.
You can also follow me on Twitter: @mikulskibartosz

For business inquiries, send me a message on LinkedIn or Twitter.


Bartosz Mikulski
Bartosz Mikulski * data scientist / software engineer * conference speaker * organizer of School of A.I. meetups in Poznań * co-founder of Software Craftsmanship Poznan & Poznan Scala User Group