首页 > 解决方案 > 如何在 pandas multiindex (name, date) 中与列日期合并,同时保持多索引?

问题描述

我有两个熊猫数据框。df1 由多索引(名称、日期)索引。df2 是一个简单的 0 到 n 索引,带有“日期”列。我的问题是如何按日期合并这两个数据框,同时保持多索引。

我使用以下命令进行合并。合并的数据框不再具有多索引。

 df_merg = pd.merge(df1, df2, how='left', left_on='date', righ_on='Date')

标签: pythonpandasmerge

解决方案


一种可能的解决方案是reset_indexdf1 在合并之前和set_indexdf_merg 在合并之后

df1.reset_index(level=['name', 'date'], inplace=True)
df_merg = pd.merge(df1, df2, how='left', left_on='date', right_on='Date')
df_merg = df_merg.set_index(['name', 'date'])

推荐阅读