Python 如何按公共列组合2个熊猫阵列

Python 如何按公共列组合2个熊猫阵列,python,pandas,dataframe,group-by,pandas-groupby,Python,Pandas,Dataframe,Group By,Pandas Groupby,我有两个数据帧df1和df2。在两列_a和_b中。在df1中,两列都被填充 import numpy as np import pandas as pd df1 = pd.DataFrame({'_a':[1,1,1,2,2,3,3],'_b':[3,4,5,3,3,3,9]}) df1 _a _b 0 1 4 1 3 9 2 4 3 3 2 5 在df2中,只有列a按另一顺序填写。我需要填写列_b,类似于df1。最后,它应该是这样的: _

我有两个数据帧df1和df2。在两列_a和_b中。在df1中,两列都被填充

import numpy as np 
import pandas as pd
df1 = pd.DataFrame({'_a':[1,1,1,2,2,3,3],'_b':[3,4,5,3,3,3,9]})
df1

    _a  _b
0   1   4
1   3   9
2   4   3
3   2   5
在df2中,只有列a按另一顺序填写。我需要填写列_b,类似于df1。最后,它应该是这样的:

    _a  _b
0   4   3
1   3   9
2   1   4
3   2   5

提前谢谢你。

我认为有两种方法可以做到这一点

首先。使用索引

temp_df = df1.set_index('_a')
df2['_b'] = temp_df.loc[df2['_a'], '_b']
第二。加入数据帧

df2 = pd.merge(df2['_a'], df1, on='_a', how='left')
你需要填补这个空缺