这是我的两个数据帧
index = pd.MultiIndex.from_product([['a','b'],[1,2]],names=['one','two'])
df = pd.DataFrame({'col':[10,20,30,40]}, index = index)
df
col
one two
a 1 10
2 20
b 1 30
2 40
index_1 = pd.MultiIndex.from_product([['a','b'],[1.,2],['abc','mno','xyz']], names = ['one','two','three'])
temp = pd.DataFrame({'col1':[1,2,3,4,5,6,7,8,9,10,11,12]}, index = index_1)
temp
col1
one two three
a 1.0 abc 1
mno 2
xyz 3
2.0 abc 4
mno 5
xyz 6
b 1.0 abc 7
mno 8
xyz 9
2.0 abc 10
mno 11
xyz 12
如何合并它们? 我试过了,这个
pd.merge(left = temp, right = df, left_on = temp.index.levels[0], right_on = df.index.levels[0])
但这不起作用
KeyError: "Index([u'a', u'b'], dtype='object', name=u'one') not in index"
如果我通过reset_index()将索引转换为列,而不是合并工作。但是,我希望在保留索引结构的同时实现这一目标。
我想要的输出是: