Объяснение:
fillna(0) возвращает DataFrame, но результат не сохраняется
dropna() вызывается на результате fillna, но тоже не сохраняется
Исходный df не изменяется, так как inplace=False по умолчанию
Исправление:
df = df.fillna(0).dropna()
Или
df.fillna(0, inplace=True)
df.dropna(inplace=True)
#CodeDetective_MLinside