基于多个条件提取数据帧中的行?

2024-06-16 10:12:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据框,由多个相同的行和类似的列组成,如下所示:

     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和一个额外的列'fn'组成,该列取自mydf1。从mydf1可以看出,fn是一个只包含1和0的特性,对于每个id都是相同的。例如,对于x1,fn始终是0,对于x2,fn始终是1,依此类推。我想将这些0和1添加到相应id的新数据框中,因此我所需的新数据框应如下所示:

       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

你知道我能解决这个问题吗


Tags: 数据idnewvmv3v2f2f1