我正在尝试删除重复的行,但有一些特殊条件。 输入数据如下: 我想删除重复的行。我必须比较所有列,因此必须根据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
答案 0 :(得分:2)
您可以尝试以下步骤:
将CITY列转换为小写
根据COMPANY对数据进行排序(考虑到您需要 保持一个钟声)
根据除COMPANY以外的其他列删除重复项
data.CITY =data.CITY.str.lower()
data.sort_values(by='COMPANY',inplace=True)
data.drop_duplicates(subset=['NAME','CODE','STATE','CITY'],keep="first")
希望有帮助。