我要合并具有相似列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个不同的列。
答案 0 :(得分:0)
我认为应该这样做-df.groupby('id').first()
。它将在每一列中使用第一个非nan
值。
如果对于相同的ID,您在同一列中只有几条具有不同值的记录,则可能会弄乱您的数据。