10

Replace NaN Values with Zeros in Pandas DataFrame - GeeksforGeeks

 4 years ago
source link: https://www.geeksforgeeks.org/replace-nan-values-with-zeros-in-pandas-dataframe/?ref=leftbar-rightbar
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Replace NaN Values with Zeros in Pandas DataFrame

Last Updated: 03-07-2020

NaN stands for Not A Number and is one of the common ways to represent the missing value in the data. It is a special floating-point value and cannot be converted to any other type than float. NaN value is one of the major problems in Data Analysis. It is very essential to deal with NaN in order to get the desired results.

img

Methods to replace NaN values with zeros in Pandas DataFrame:

  • fillna()
    The fillna() function is used to fill NA/NaN values using the specified method.
  • replace()
    The dataframe.replace() function in Pandas can be defined as a simple method used to replace a string, regex, list, dictionary etc. in a DataFrame.

Steps to replace NaN values:

  • For one column using pandas:
    df['DataFrame Column'] = df['DataFrame Column'].fillna(0)
    
  • For one column using numpy:
    df['DataFrame Column'] = df['DataFrame Column'].replace(np.nan, 0)
    
  • For the whole DataFrame using pandas:
    df.fillna(0)
    
  • For the whole DataFrame using numpy:
    df.replace(np.nan, 0)
    

Method 1: Using fillna() function for a single column

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing libraries
import pandas as pd
import numpy as np
nums = {'Set_of_Numbers': [2, 3, 5, 7, 11, 13
np.nan, 19, 23, np.nan]}
# Create the dataframe
df = pd.DataFrame(nums, columns =['Set_of_Numbers'])
# Apply the function
df['Set_of_Numbers'] = df['Set_of_Numbers'].fillna(0)
# print the DataFrame
df

Output:

pandas-replace-nan-1

Method 2: Using replace() function for a single column

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing libraries
import pandas as pd
import numpy as np
nums = {'Car Model Number': [223, np.nan, 237, 195, np.nan,
575, 110, 313, np.nan, 190, 143
np.nan],
'Engine Number': [4511, np.nan, 7570, 1565, 1450, 3786
2995, 5345, 7777, 2323, 2785, 1120]}
# Create the dataframe
df = pd.DataFrame(nums, columns =['Car Model Number'])
# Apply the function
df['Car Model Number'] = df['Car Model Number'].replace(np.nan, 0)
# print the DataFrame
df

Output:

pandas-replace-nan-2

Method 3: Using fillna() function for the whole dataframe

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing libraries
import pandas as pd
import numpy as np
nums = {'Number_set_1': [0, 1, 1, 2, 3, 5, np.nan,
13, 21, np.nan],
'Number_set_2': [3, 7, np.nan, 23, 31, 41
np.nan, 59, 67, np.nan],
'Number_set_3': [2, 3, 5, np.nan, 11, 13, 17,
19, 23, np.nan]}
# Create the dataframe
df = pd.DataFrame(nums)
# Apply the function
df = df.fillna(0)
# print the DataFrame
df

Output:

pandas-replace-nan-3

Method 4: Using replace() function for the whole dataframe

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing libraries
import pandas as pd
import numpy as np
nums = {'Student Name': [ 'Shrek', 'Shivansh', 'Ishdeep',  
'Siddharth', 'Nakul', 'Prakhar',
'Yash', 'Srikar', 'Kaustubh'
'Aditya''Manav', 'Dubey'],
'Roll No.': [ 18229, 18232, np.nan, 18247, 18136
np.nan, 18283, 18310, 18102, 18012,
18121, 18168],
'Subject ID': [204, np.nan, 201, 105, np.nan, 204,
101, 101, np.nan, 165, 715, np.nan],
'Grade Point': [9, np.nan, 7, np.nan, 8, 7, 9, 10,
np.nan, 9, 6, 8]}
# Create the dataframe
df = pd.DataFrame(nums)
# Apply the function
df = df.replace(np.nan, 0)
# print the DataFrame
df

Output:

pandas-replace-nan-5

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.


If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to [email protected]. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
thumb_up
7
0

No votes yet.
Please write to us at [email protected] to report any issue with the above content.

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK