假设我有两个DataFrame df1和df2,df1中的连接键是一列,但df2中的键是索引。
df1
Out[88]:
A B C
0 1 A 10
1 2 B 20
2 3 C 30
3 4 D 40
4 5 E 50
df2
Out[89]:
D E
A 22 2
B 33 3
C 44 4
D 55 5
E 66 6
我想做点什么,
pd.merge(df1,df2, how= 'outer',left_on="B" , right_on= df2.index )
我知道这肯定会失败。我可以通过重置df2上的索引来解决这个问题,但是在应用程序中我必须将其编入索引。
df2=df2.reset_index()
我想知道是否可以轻松地将一列和一个索引连接在一起?
答案 0 :(得分:6)
您可以指定right_index=True
合并rhs的索引:
In [193]:
pd.merge(df1,df2, how= 'outer',left_on="B" , right_index= True )
Out[193]:
A B C D E
0 1 A 10 22 2
1 2 B 20 33 3
2 3 C 30 44 4
3 4 D 40 55 5
4 5 E 50 66 6
答案 1 :(得分:0)
我认为你也可以使用join:
df1.join(df2,on ='B',how ='outer')