MergeError: right can only have one index

MergeError: right can only have one index

我有一个大数据框 df(applicationstartdate 作为索引)和一个系列 app_3M,我想合并在一起。

系列看起来像:

New_ID  applicationstartdate
1001    2021-02-28              0.0
1003    2021-01-31              0.0
        2021-02-28              2.0
        2021-03-31              2.0
        2021-04-30              1.0
Name: N_App_3M, dtype: float64

我想在 New_ID 和 applicationstartdate 上将最后一个(数字)列合并到 df。

我试过了:

df = pd.merge_asof(df, app_3M, direction="nearest", left_index=True, right_index=True)

导致:

MergeError: right can only have one index

不胜感激。

将第一级转换为列,如果需要还可以通过 New_ID 添加参数 by='New_ID'merge_asof, for sorting add Series.sort_index:

进行合并
df = pd.merge_asof(df, 
                   app_3M.reset_index(level=0).sort_index(), 
                   direction="nearest", 
                   left_index=True, 
                   right_index=True, 
                   by='New_ID')