特殊从数据框中删除重复项

时间:2020-01-22 08:04:08

标签: python-3.x dataframe duplicates

我正在尝试删除重复的行,但有一些特殊条件。 输入数据如下: 我想删除重复的行。我必须比较所有列,因此必须根据CODE对数据框进行排序,因此可以比较行。如果单元格值相同(在比较CITY列时必须忽略大小写),并且COMPANY列同时具有BELL和MAS,则必须选择with BELL。谢谢。

NAME    CODE   STATE   CITY       COMPANY
abc     109    TN      Trichy     BELL
abc     109    TN      Salem      MAS
pen     9      TN      Mdu        BELL
pen     9      TN      MDU        MAS
hat     10     TN      Karur      MAS
mat     89     TN      Hosur      MAS
mat     89     TN      Hosur      BELL
paper   77     TN      Nyl        BELL
stone   98     TN      Nyl        BELL
stone   98     TN      Nyl        MAS

预期结果:

NAME    CODE   STATE   CITY       COMPANY
abc     109    TN      Trichy     BELL
abc     109    TN      Salem      MAS
pen     9      TN      Mdu        BELL
hat     10     TN      Karur      MAS
mat     89     TN      Hosur      BELL
paper   77     TN      Nyl        BELL
stone   98     TN      Nyl        BELL

1 个答案:

答案 0 :(得分:2)

您可以尝试以下步骤:

  1. 将CITY列转换为小写

  2. 根据COMPANY对数据进行排序(考虑到您需要 保持一个钟声)

  3. 根据除COMPANY以外的其他列删除重复项

    data.CITY =data.CITY.str.lower()
    data.sort_values(by='COMPANY',inplace=True)
    data.drop_duplicates(subset=['NAME','CODE','STATE','CITY'],keep="first")
    

希望有帮助。

相关问题