Pandas在特定条件下合并两个 Dataframe

ryoqjall  于 2023-04-28  发布在  其他
关注(0)|答案(1)|浏览(108)

我有两个不同的 Dataframe df1和df2,我想根据以下条件合并:

id     category
1      cat1
2      cat2

df2:

id      category_name
1       shoes
1       car

合成df:

id    category     category_name
1     cat1         shoes
1                  car
2     cat2

我不希望cat1在合并时重复。我只想保留id和我试图存储的列category_name值。如何实现这一点?

7eumitmz

7eumitmz1#

您可以尝试:

>>> (df1.merge(df2, on='id', how='left')
        .assign(category=lambda x: x['category'].mask(x['category'].duplicated()))
        .fillna(''))

   id category category_name
0   1     cat1         shoes
1   1                    car
2   2     cat2

相关问题