What I am trying to do is to replace the values of df['ME'] column by the act['ME'] column, with df size 10000 rows × 4 columns and act size 40000 rows × 1 column respectively. For both data frames, the time is used as the index. An example of df and act is shown as follows.
df =
                    x       y          
Time             
2020-01-01 01:00    115.1   20.0      
2020-01-01 01:01    115.0   20.1       
2020-01-01 01:02    114.9   19.9        
2020-01-01 01:03    123.1   20.0        
2020-01-01 01:04    115.0   18.9 
act =
                    ME                
Time 
2020-01-01 00:59    Sport    
2020-01-01 01:00    Home
2020-01-01 01:01    Food
2020-01-01 01:02    School
2020-01-01 01:03    Food
2020-01-01 01:04    Movie
2020-01-01 01:05    Sport
My expected results:
 df=
                       x       y      ME     
   Time             
   2020-01-01 01:00    115.1   20.0   Home   
   2020-01-01 01:01    115.0   20.1   Food    
   2020-01-01 01:02    114.9   19.9   School    
   2020-01-01 01:03    123.1   20.0   Food     
   2020-01-01 01:04    115.0   18.9   Movie
To get the expected results, I added a 'ME' column to df by
df['ME']=np.nan
Then, I have tried 2 functions, either
df['ME'] = act['ME'].fillna(df['ME'])
or
df.update(act)
However, df does not update the 'ME' column, which is shown as follows.
     df=
  Time                x       y        ME
  2020-01-01 01:00    115.1   20.0     NaN
  2020-01-01 01:01    115.0   20.1     NaN
  2020-01-01 01:02    114.9   19.9     NaN
  2020-01-01 01:03    123.1   20.0     NaN
  2020-01-01 01:04    115.0   18.9     NaN
I am not sure why the 'ME' cannot be replaced as I have tried using df.update() before and no problem has exceeded.
 
    