通过多索引熊猫合并数据框

时间:2020-07-10 11:35:14

标签: python pandas merge multi-index

我正在尝试通过multiindex合并2个数据集, 这是我的代码

h_d = h_d.merge(t,
                how='left',
                on=[h_d.index.levels[0].name,h_d.index.levels[1].name])

关于数据集:

  • 't'是具有2级索引('State''RegionName')和仅一列(布尔值)的数据集。
  • 'h_d'是具有完全相同的索引和3列(float64)的数据集。

我确信索引是相同的,因为

t.index.levels[0].name == h_d.index.levels[0].name

t.index.levels[1].name == h_d.index.levels[1].name

都是return True,但是合并后我得到的是KeyError: 'State'

1 个答案:

答案 0 :(得分:0)

如果您正在寻找类似的东西,

                bool,  float1,  float2, float3
'state'
'region name'

然后:

df = pd.concat([h.reset_index(drop=True),h_d.reset_index(drop=Tru‌​e)], axis=1)