df.fillna() does not replace all NaN values

Viewed 236

I'm trying to replace NaN values in my dataframe using:

values = {'pitch_type': 'UN', 'px': -1, 'pz': -1, 'pitch_type_prev': -1,'px_prev': -1, 
          'pz_prev': -1}

df_sample.replace(np.nan, values)

It fills all but two values. The returned output is :

pitch_type       px        pz     pitch_type_prev     px_prev         pz_prev
   UN          -1.000   -1.000        -1                 NaN           -1.000
   FF           0.416    2.963        -1                 NaN           -1.000
   FF          -0.191    2.347        FF           (0.0712, 0.508]      2.963

Any fix for this?

1 Answers

You can use fillna:

df_sample.fillna(values)

Output:

  pitch_type     px     pz pitch_type_prev          px_prev  pz_prev
0         UN -1.000 -1.000              -1               -1   -1.000
1         FF  0.416  2.963              -1               -1   -1.000
2         FF -0.191  2.347              FF  (0.0712, 0.508]    2.963
Related