【问题标题】:How to merge 2 rows of a Python Data frame with same column id into one row?如何将具有相同列 ID 的 2 行 Python 数据框合并为一行?
【发布时间】:2019-11-26 03:32:41
【问题描述】:

我想合并具有相似列 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 个不同的列。

【问题讨论】:

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


    【解决方案1】:

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

    如果对于同一个 id,您在同一列中具有不同值的记录很少,则可能会弄乱您的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-24
      • 2012-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多