dataframe.fillna with df fails in a specific case
The following code replace NaN values from a dataframe and works perfectly:
```
import pandas as pd
import numpy as np
df = pd.DataFrame({'key': ['01', '01', '01', '03', '04', '05'], 'A': [np.nan, 'A1', 'A2', 'A3', np.nan, np.nan], 'B': [1, 2, 3, np.nan, 5, 6]})
df2 = pd.DataFrame({'key': ['01', '03', '04', '05', '08', '99'], 'A': ['OK1', 'KO3', 'OK4', 'OK5', 'KO8', 'K99'], 'B': [91, 92, 93, 94, 95, 12]})
df.set_index('key').fillna(df2.set_index('key')).reset_index()
```
We obtain:
```
df
  key    A    B
0  01  NaN  1.0
1  01   A1  2.0
2  01   A2  3.0
3  03   A3  NaN
4  04  NaN  5.0
5  05  NaN  6.0

df2
  key    A   B
0  01  OK1  91
1  03  KO3  92
2  04  OK4  93
3  05  OK5  94
4  08  KO8  95
5  99  K99  12

res
  key    A     B
0  01  OK1   1.0
1  01   A1   2.0
2  01   A2   3.0
3  03   A3  92.0
4  04  OK4   5.0
5  05  OK5   6.0
```
However, the following minor change breaks everything for no apparent reason. When computing df3, we obtain an InvalidIndexError:
```
df.at[3, 'key'] = '99'
df_res = df.set_index('key').fillna(df2.set_index('key')).reset_index()
```
Here is the updated dataframe.
```
df
  key    A    B
0  01  NaN  1.0
1  01   A1  2.0
2  01   A2  3.0
3  99   A3  NaN
4  04  NaN  5.0
5  05  NaN  6.0
```