2016-07-18 38 views
3

这似乎很简单,但我不能在互联网上找到关于它的任何信息丢弃重复的大熊猫除一列

我有一个像下面

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 

我怎样才能消除匹配重复一个数据帧4列5列?不匹配的列是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_dupilcatessubset参数可以工作,但我不确定我怎么可以把它应用到多个列。

回答

8

你实际上已经找到了解决方案。对于多列,子集将成为一个列表。

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

或者,只是陈述列被忽略:

df.drop_duplicates(df.columns.difference(['Description'])) 
+0

反正做到这一点,而无需键入出每个列标题?我的数据实际上有12列,我只是不想把它们全部放入我的文章。 – Jstuff

+0

@Jstuff我已更新帖子。 – ayhan

+0

第二种方法不起作用。 – Jstuff