df['column'] = df['column'].fillna(0)
data['Native Country'] = data['Native Country'].fillna(data['Native Country'].mode()[0])
# based on another column value
df['column_1'].fillna(df['column_2'], inplace=True)
df.fillna(np.nan).replace([np.nan], [None])
df.fillna(np.nan).replace([np.nan], [None])
# selecting your desired columns
df[['a', 'b']] = df[['a', 'b']].fillna(df['c'], inplace=True)
values = {"A": 0, "B": 1, "C": 2, "D": 3}
>>> df.fillna(value=values)
A B C D
0 0.0 2.0 2.0 0.0
1 3.0 4.0 2.0 1.0
2 0.0 1.0 2.0 3.0
3 0.0 3.0 2.0 4.0
When inplace = True , the data is modified in place, which means it will return nothing and the dataframe is now updated. When inplace = False , which is the default, then the operation is performed and it returns a copy of the object. You then need to save it to something.
>>> df.fillna(0)
A B C D
0 0.0 2.0 0.0 0
1 3.0 4.0 0.0 1
2 0.0 0.0 0.0 5
3 0.0 3.0 0.0 4
df = df.fillna(method = 'ffill')