从索引和列创建多索引

Create Multi-Index from Index and Column

我有一个 multiIndex 数据框,我正在与另一个 multiIndex 数据框合并,它合并成功但现在它只有一个索引?

climate_df2.index.names
Out[79]: FrozenList(['key', 'Y'])

fileformat_df.index.names
Out[80]: FrozenList(['key', 'Y'])

climate_df3 = pd.merge(climate_df2.reset_index(), fileformat_df.reset_index(),
                   on = ["key","Y"], how = "inner").set_index("key","Y")

climate_df3.index.names
Out[81]: FrozenList(['key'])

climate_df3.columns
Out[82]: Index(['Y', 'DatasetName', 'Organization', 'URL', 'FileFormat'], dtype='object')

但现在以前的索引 "Y" 是合并数据框中的一列。所以我要么首先将合并的 DF return 两个索引都放在首位,要么只将列 "Y" 添加到合并的数据帧中。

刚刚弄清楚如何 "fix" 它:

climate_df3.set_index(["Y"], append = True)

我仍然不确定为什么 "Y" 最终会出现在列中,但这会将它放回到 MultiIndex 中。