如何将两列具有相同列ID的Python数据框架合并为一行?

时间:2019-07-17 10:11:08

标签: python python-3.x pandas dataframe dataset

我要合并具有相似列ID的行,数据集中大约有50列。现在一行中id =“ ABC”,其中25列中有值,另一行中id =“ ABC”其余25列中都有值。我只想在所有50列中都包含一个唯一的ID。 基本上,要合并具有重复ID的行。 但是,如果id列中没有值,而id2或id3中有值,则不应删除该行。

给定数据帧:

    id         value1  value2  value3   value4  id2    id3
    ABC        100                       ABD    AND    
    ABC                 101     UBC                    DND
    XYZ        200              ANF      BAC    ALC    BLC
    XYZ                 202
               200      300     QWE      RTY    FGH    IJK
                        501     UIO      JKL    QWR     

预期输出:

    id       value1    value2 value3  value4  id2   id3
    ABC        100       101    UBC     ABD   AND   DND
    XYZ        200       202    ANF     BAC   ALC   BLC
               200       300    QWE     RTY   FGH   IJK
                         501    UIO     JKL   QWR

实际数据集中大约有50个不同的列。

1 个答案:

答案 0 :(得分:0)

我认为应该这样做-df.groupby('id').first()。它将在每一列中使用第一个非nan值。

如果对于相同的ID,您在同一列中只有几条具有不同值的记录,则可能会弄乱您的数据。