删除Pandas中的重复项,不包括一列

时间:2016-07-18 20:25:06

标签: python pandas

这看起来很简单,但我在互联网上找不到任何关于它的信息

我有一个如下的数据框

City    State Zip           Date        Description       
Earlham IA    50072-1036    2014-10-10  Postmarket Assurance: Devices
Earlham IA    50072-1036    2014-10-10  Compliance: Devices
Madrid  IA    50156-1748    2014-09-10  Drug Quality Assurance

如何消除与5列中的4列匹配的重复项?不匹配的列为Description

结果将是

City    State Zip           Date        Description       
Earlham IA    50072-1036    2014-10-10  Postmarket Assurance: Devices
Madrid  IA    50156-1748    2014-09-10  Drug Quality Assurance

我在网上发现drop_dupilcates subset参数可以正常工作,但我不确定如何将其应用于多个列。

1 个答案:

答案 0 :(得分:20)

您确实找到了解决方案。对于多列,子集将是一个列表。

df.drop_duplicates(subset=['City', 'State', 'Zip', 'Date']) 

或者,只需说明要忽略的列:

df.drop_duplicates(subset=df.columns.difference(['Description']))