我有两个包含多个相同行和相似列的数据帧,如下所示:
mydf1:
id, f1, f2 ,f3 , ..., fn
x1, 34, 45 ,32 , ..., 0
x1, 24, 55 ,1 , ..., 0
x1, 67, 43 ,5 , ..., 0
x2, 20, 89 ,4 , ..., 1
x2, 24, 50 ,1 , ..., 1
x3, 14, 15 ,1 , ..., 1
x3, 44, 25 ,11 , ..., 1
.. .. .. .. ... ..
mydaf2:
id, v1, v2 ,v3 , ...,vm
x1, 74, 4 ,32 , ..., 32
x2, 64, 5 ,10 , ..., 56
x3, 4, 3 ,50 , ..., 78
现在,我想创建一个新的mydf_new,它由mydf2和一个从mydf1提取的额外列'fn'组成。从mydf1可以看出,fn是仅包含1和0的功能,每个id都相同。例如,对于x1,fn始终为0,对于x2,fn始终为1,依此类推。我想在新数据框中为相应的ID添加0和1,所以我想要的新数据框应如下所示:
mydaf_new:
id, v1, v2, v3 , ..., vm, fn
x1, 74, 4 , 32 , ..., 32, 0
x2, 64, 5 , 10 , ..., 56, 1
x3, 4, 3 , 50 , ..., 78, 1
有人知道我要解决此问题吗?
答案 0 :(得分:0)
尝试一下:
df = mydf1[['id', 'fn']]
mydf_new = mydf2.merge(df, how='left', on='id')