Fillna Pandas Example
In this article, you will learn about fillna() method of Python Pandas with examples.
Python is one of the fast growing programming language in this world. Instead of development of web applications, it also used in the development of complex numeric, scientific applications and data analytics. The Pandas is most popular Python library used for Data Scientists and Analysts. It provides fast and effective way to manage and explore data, handling missing data, merging or joining of datasets and cleaning up data. It provides lot of methods for performing different tasks. Here, we have mentioned all about the fillna() method.
Pandas fillna
Sometimes, CSV file may contain null values. When we export data from CSV to DateFrame, the null values are displayed as NaN in DataFrame. The fillna() method is used to replace these NaN/ NA values using the specified method.
Syntax of fillna() method
DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)
value - Value to fill instead of NaN/NA, it can be scalar, dictionary, pandas Series or a DataFrame
method - Method to use for filling holes in reindexed Series pad/ ffill/ backfill/ bfill,
axis - Axis along which to fill missing values, it can take 0 or 'index', 1 or 'columns'.
inplace - If True, fill in place,
limit - If method is specified, this is the maximum number of consecutive NaN values to forward/backward fill,
downcast - A dict which specifies what dtype to downcast to which one, it can be a dictionary or None.
Pandas DataFrame fillna Examples
These are the different examples of Python Pandas fillna() method -
Replace NaN values with a static value in DataFrame
Suppose we have the following dataset of four columns in which some values are null -
import numpy as np
import pandas as pd
df = pd.DataFrame([[np.nan, 6, 4, 0],
[5, 2, np.nan, 1],
[2, np.nan, np.nan, np.nan],
[np.nan, np.nan, 7, np.nan]],
columns=list('PQRS'))
print(df)

In the below code, we have replaced the NaN values with a static value 0.0 -
import numpy as np
import pandas as pd
df = pd.DataFrame([[np.nan, 6, 4, 0],
[5, 2, np.nan, 1],
[2, np.nan, np.nan, np.nan],
[np.nan, np.nan, 7, np.nan]],
columns=list('PQRS'))
print(df.fillna(0))
The above code returns the following output -

Replace NaN values with dynamic values in DataFrame
In the below example, we have replaced all NaN elements in column 'P', 'Q', 'R' and 'S', with 2, 3, 7, and 8 respectively.
import numpy as np
import pandas as pd
df = pd.DataFrame([[np.nan, 6, 4, 0],
[5, 2, np.nan, 1],
[2, np.nan, np.nan, np.nan],
[np.nan, np.nan, 7, np.nan]],
columns=list('PQRS'))
print(df.fillna(value = {'P' : 2, 'Q' : 3, 'R' : 7, 'S' : 8}))

Pandas fillna method
With the help of method attribute, we can propagate non-null values forward or backward.
import numpy as np
import pandas as pd
df = pd.DataFrame([[np.nan, 6, 4, 0],
[5, 2, np.nan, 1],
[2, np.nan, np.nan, np.nan],
[np.nan, np.nan, 7, np.nan]],
columns=list('PQRS'))
print(df.fillna( method ='ffill'))

Apply Pandas fillna on a specific column
If we want to fill NaN values of a specific column, we can do this by applying Pandas fillna on that column. In this example, we have replaced NaN values of P column with the given value.
import numpy as np
import pandas as pd
df = pd.DataFrame([[np.nan, 6, 4, 0],
[5, 2, np.nan, 1],
[2, np.nan, 7, 2],
[9, np.nan, 7, 8]],
columns=list('PQRS'))
df['P'].fillna(0, inplace=True)
print(df)

Pandas fillna with another column
We can replace NaN values of one column with values of another column. This can be done by simply assigning values of the other column in the 'value' argument. In the given example, we have replaced the NaN values of 'R' column with 'P' column.
import numpy as np
import pandas as pd
df = pd.DataFrame([[8, 6, 4, 0],
[5, 2, np.nan, 1],
[2, np.nan, 7, 2],
[9, np.nan, np.nan, 8]],
columns=list('PQRS'))
df['R'].fillna(value=df['P'], inplace=True)
print(df)

Related Articles
Python Spell Checker ProgramPython remove punctuation from string
How to convert Excel to CSV Python Pandas
How to read data from excel file using Python Pandas
How to read data from excel file in Python
Python read JSON from URL requests
Python send mail to multiple recipients using SMTP server
How to generate QR Code in Python using PyQRCode
Python programs to check Palindrome strings and numbers
CRUD operations in Python using MYSQL Connector
Fibonacci Series Program in Python
Python File Handler - Create, Read, Write, Access, Lock File
Python convert XML to JSON
Python convert xml to dict
Python convert dict to xml