Só a título de contribuição ao assunto tratado, acredito que houve um equívoco quando foram chamados os valores NaN que apareceram no dataframe de valores nulos. Na verdade NaN (Not a Number) representa um valor numérico indefinido ou irrepresentável.
Espero ter contribuído.