From what I understood, the proposal was to give an option whether to keep the NaNs or keep the imputed values. Here it seems that NaNs are set back always.

Also, less importantly, previous `-np.inf` and `np.inf` will all end up being `np.nan` at the output of this function. Again, a question of convention