Рецепт, который должен работать здесь:
df.iloc[:, -x:] = df.iloc[:, -x:].fillna(value=0)
Воспроизводимый пример здесь
import pandas as pd
df = pd.DataFrame({'col1':range(10),
'col2':range(1, 11),
'col3':range(2, 12),
'col4':range(3, 13),
'col5':range(4, 14)})
# pepper with NaNs
df.iloc[8, 2] = None
df.iloc[8, 3] = None
df.iloc[8, 4] = None
# apply fillna change to last 2 cols
x = 2
df.iloc[:, -x:] = df.iloc[:, -x:].fillna(value=0)
print(df)