将数据框列与具有不同形状的数据框的单列上的另一个数据框合并

时间:2018-07-10 06:45:47

标签: python pandas dataframe merge

我有2个数据框,一个的形状为df1 =(1000,2),另一个的形状为df2 =(2500,4),现在我试图将它们合并到单个公共列中,但每次尝试都遇到不同的错误

df1 has the following column:
['account_id', 'value']

df2 has the following column:
['account_id', 'price', 'customer', 'label']

注意:可以重复使用df2中的account_id,这就是(2500,2)的原因 在这里,我希望将df2 ['label']合并到account_id上的df1中

1 个答案:

答案 0 :(得分:1)

如果account_id中的df2是唯一的,我相信需要map

df1['label'] = df1['account_id'].map(df2.set_index('account_id')['label'])

如果不是唯一的:

s = df2.drop_duplicates(subset=['account_id']).set_index('account_id')['label']
df1['label'] = df1['account_id'].map(s)