fillnallena los NaNvalores con un número dado con el que desea sustituir. Le da la opción de llenar de acuerdo con el índice de filas de ao pd.DataFrameen el nombre de las columnas en forma de python dict.
Pero interpolatees un dios en el relleno. Le brinda la flexibilidad de completar los valores faltantes con muchos tipos de interpolaciones entre los valores como lineal (que fillnano proporciona) en el ejemplo proporcionado a continuación y muchas más interpolaciones posibles. Por ejemplo
>> import pandas as pd, numpy as np
>> df = pd.Series([1, np.nan, np.nan, 3])
>> df.interpolate()
0 1.000000
1 1.666667
2 2.333333
3 3.000000
dtype: float64
La documentación de los pandas sobre fillna e interpolar es muy clara al respecto.