首页 > 解决方案 > 将两个数据框合并为一个新的数据框,其中唯一的项目标记为 1 或 0

问题描述

我有几个数据框。

数据框 #1

Feature   Coeff
a         0.5
b         0.3
c         0.35
d         0.2

数据框#2

Feature   Coeff
a         0.7
b         0.2
y         0.75
x         0.1

我想合并这个数据框并获得以下数据:

Feature |  DF1  |  DF2
a          1       1
b          1       1
c          1       0
d          1       0
y          0       1
x          0       1

我知道我可以做,outer merge但我不知道如何从那里获得我上面介绍的最终数据框。有任何想法吗?

标签: pythonpandasdataframe

解决方案


使用concat+get_dummies

u = pd.concat([df1, df2], axis=0, keys=['DF1', 'DF2'])

pd.get_dummies(u.Feature).sum(level=0).T

   DF1  DF2
a    1    1
b    1    1
c    1    0
d    1    0
x    0    1
y    0    1

推荐阅读