i get nan values after replace character in pandas column code example

Example 1: replace nan in pandas

df['DataFrame Column'] = df['DataFrame Column'].fillna(0)

Example 2: replace nan in pandas column with mode and printing it

def exercise4(df):
    df1 = df.select_dtypes(np.number)
    df2 = df.select_dtypes(exclude = 'float')
    mode = df2.mode()
    df3 = df1.fillna(df.mean())
    df4 = df2.fillna(mode.iloc[0,:])
    new_df = [df3,df4]
    df5 = pd.concat(new_df,axis=1)
    new_cols = list(df.columns)
    df6 = df5[new_cols]
    return df6