Replace all NaN values with 0's in a column of Pandas dataframe
Pandas
import modules
import pandas as pd
import numpy as np
create dummy dataframe
raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame(raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'])
df
age | favorite_color | grade | name | |
---|---|---|---|---|
Willard Morris | 20 | blue | 88 | Willard Morris |
Al Jennings | 19 | red | 92 | Al Jennings |
Omar Mullins | 22 | yellow | 95 | Omar Mullins |
Spencer McDaniel | 21 | green | 70 | Spencer McDaniel |
Create some NaN values in the dataframe
#First, we have to create the NaN values
df = df.replace(20,np.NaN)
df = df.replace(70,np.NaN)
df
age | favorite_color | grade | name | |
---|---|---|---|---|
Willard Morris | NaN | blue | 88.0 | Willard Morris |
Al Jennings | 19.0 | red | 92.0 | Al Jennings |
Omar Mullins | 22.0 | yellow | 95.0 | Omar Mullins |
Spencer McDaniel | 21.0 | green | NaN | Spencer McDaniel |
Replace the NaN values in the dataframe (with a 0 in this case)
#Now, we can replace them
df = df.fillna(0)
df
age | favorite_color | grade | name | |
---|---|---|---|---|
Willard Morris | 0.0 | blue | 88.0 | Willard Morris |
Al Jennings | 19.0 | red | 92.0 | Al Jennings |
Omar Mullins | 22.0 | yellow | 95.0 | Omar Mullins |
Spencer McDaniel | 21.0 | green | 0.0 | Spencer McDaniel |