如何在没有数据的地方删除重复项?

时间:2018-09-27 14:25:13

标签: python python-3.x pandas duplicates

我有一个如下所示的df:

Id   column2   column3  column4   column5
1            1         1        1        nan
1            1         nan      nan      1

我想通过Id列删除重复项,并将数据保留在Id有数据的列中,我该怎么做?

新df:

 Id   column2   column3  column4   column5
1         1         1        1        1

当前,我在使用以下代码行,但无法成功保存数据行:

1.  df = df.drop_duplicates(subset='Id',keep='last')

2.  df = df.loc[df.notnull().sum(1).groupby(analysis.Id).idxmax()]

1 个答案:

答案 0 :(得分:1)

使用GroupBy.last返回每组的最后一个非NaNs值:

df1 = df.groupby('Id', as_index=False).last()
print (df1)
   Id  column2  column3  column4  column5
0   1        1      1.0      1.0      1.0    df1 = df.groupby('id', as_index=False).last()