如何通过公共列组合2个pandas数组

时间:2018-05-21 20:50:53

标签: 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类似。最后,它应该是这样的:

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

提前谢谢。

1 个答案:

答案 0 :(得分:1)

我认为有两种方式可以完成

首先。使用索引

temp_df = df1.set_index('_a')
df2['_b'] = temp_df.loc[df2['_a'], '_b']

二。加入数据框

df2 = pd.merge(df2['_a'], df1, on='_a', how='left')