df2.replace(-999, np.nan, inplace=True) df2.fillna(df2.mean()) EventId A B C 0 100000 0.91 124.711 2.666000 1 100001 0.91 124.711 -0.202838 2 100002 0.91 124.711 -0.202838 3 100003 0.91 124.711 -0.202838