DataFrame non-NaN series assignment results in NaN

I cannot find a reason why when I assign scaled variable (which is non NaN) to the original DataFrame I get NaNs even though the index matches (years).

Can anyone help? I am leaving out details which I think are not necessary, happy to provide more details if needed.

enter image description here


So, given the following multi-index dataframe df:

                     value
country        year       
Canada         2007      1
               2006      2
               2005      3
United Kingdom 2007      4
               2006      5

And the following series scaled:

2006    99
2007    54
2005    78
dtype: int64

You can assign it as a new column if reindexed and converted to a list first, like this:

df.loc["Canada", "new_values"] = scaled.reindex(df.loc["Canada", :].index).to_list()

print(df.loc["Canada", :])

# Output
      value  new_values
year
2007      1        54.0
2006      2        99.0
2005      3        78.0