df["newColumName"] = df["originalColumnName"].fillna(df["originalColumnName"].mean())
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.