python-无法左加入
我正在尝试使用merge左键连接下面的两个表。主表如下所示python-无法左加入,python,pandas,Python,Pandas,我正在尝试使用merge左键连接下面的两个表。主表如下所示 print(MbrKPI3.head()) 下面是要左连接的表 print(df5.head()) 以下是合并代码,使用主键“忠诚度卡编号” MbrKPI4=pd.merge(MbrKPI3, df5,how='left',on='Loyalty Card No_') 但它不起作用,错误如下。有人能提供建议吗?谢谢 KeyError: 'Loyalty Card No_' 您需要使用参数左索引和右索引: MbrKPI4=pd
print(MbrKPI3.head())
下面是要左连接的表
print(df5.head())
以下是合并代码,使用主键“忠诚度卡编号”
MbrKPI4=pd.merge(MbrKPI3, df5,how='left',on='Loyalty Card No_')
但它不起作用,错误如下。有人能提供建议吗?谢谢
KeyError: 'Loyalty Card No_'
您需要使用参数左索引
和右索引
:
MbrKPI4=pd.merge(MbrKPI3, df5,how='left',left_index=True, right_index=True)
但也可以工作,默认情况下,左连接为:
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)
但也可以工作,默认情况下,左连接为:
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
谢谢你的回复,耶斯雷尔,它起作用了!你知道为什么我不能为他们两人指定一个列名(忠诚卡号)来加入吗?因为它不是列,而是索引,请检查它
df5。索引谢谢你的回复jezrael,它可以工作!你知道为什么我不能为他们两人指定一个列名(忠诚卡号)来加入吗?因为它不是列,而是索引,请检查它df5.index