Python 如何按公共列组合2个熊猫阵列
我有两个数据帧df1和df2。在两列_a和_b中。在df1中,两列都被填充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。最后,它应该是这样的: _
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')
你需要填补这个空缺