Pet*_* Li 5 python join pandas
假设我有两个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
Run Code Online (Sandbox Code Playgroud)
我想做点什么,
pd.merge(df1,df2, how= 'outer',left_on="B" , right_on= df2.index )
Run Code Online (Sandbox Code Playgroud)
我知道这肯定会失败.我可以通过重置df2上的索引来解决方法,但在应用程序中我必须将其索引回来.
df2=df2.reset_index()
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以轻松地将一列和一个索引连接在一起?
您可以指定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
Run Code Online (Sandbox Code Playgroud)