我试图使用merge继续加入下面的2个表。主要表如下。
print(MbrKPI3.head())
要加入的表格如下。
print(df5.head())
以下是合并代码,使用主键'会员卡否_'
MbrKPI4=pd.merge(MbrKPI3, df5,how='left',on='Loyalty Card No_')
但它不起作用,出现以下错误。有人可以提供建议吗?谢谢!
KeyError: 'Loyalty Card No_'
答案 0 :(得分:0)
您需要merge
参数left_index
和right_index
:
MbrKPI4=pd.merge(MbrKPI3, df5,how='left',left_index=True, right_index=True)
但也有效join
,默认情况下左连接:
MbrKPI4=MbrKPI3.join(df5)
样品:
MbrKPI3 = pd.DataFrame({'B':[4,5,6],
'C':[7,8,9]},
index=[1,2,3])
MbrKPI3.index.name = 'Loyalty Card No_'
print (MbrKPI3)
B C
Loyalty Card No_
1 4 7
2 5 8
3 6 9
df5 = pd.DataFrame({'E':[4,5,6]},
index=[1,2,3])
df5.index.name = 'Loyalty Card No_'
print (df5)
E
Loyalty Card No_
1 4
2 5
3 6
MbrKPI4=pd.merge(MbrKPI3, df5,how='left',left_index=True, right_index=True)
print (MbrKPI4)
B C E
Loyalty Card No_
1 4 7 4
2 5 8 5
3 6 9 6
MbrKPI4=MbrKPI3.join(df5)
print (MbrKPI4)
B C E
Loyalty Card No_
1 4 7 4
2 5 8 5
3 6 9 6