df['column'] = df['column'].fillna(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.
# for the whole dataframe
df = df.fillna(axis=1, method='backfill')
# only for some columns
df[['A', 'B', 'C']] = df[['A', 'B', 'C']].fillna(axis=1, method='backfill')
>>> 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