'子集'不适用于drop_duplicates pandas dataframe

时间:2016-11-18 06:11:49

标签: python pandas dataframe duplicates

我的df看起来像这样:

    A                B    C               D     NEW
0   1       Adhoc_Task  WID          WI_DTL      []  
1   1  Arun_adhoc_load  ATT           IXN_1  (IXN,)
2   1  Arun_adhoc_load  ATT          IXN_10  (IXN,)
3   1  Arun_adhoc_load  ATT         IXN_100  (IXN,)
4   1  Arun_adhoc_load  ATT         IXN_101  (IXN,)
5   2    Batch_Support  ATT      CDS_STATUS      []
6   2    Batch_Support  ATT     CDS_CONTROL      []
7   2    Batch_Support  ATT  CDS_ORA_STATUS      []
8   2    Batch_Support  ATT      REP_FILTER      []
9   1      online_load  ATT           TAX_3  (TAX,)
10  1      online_load  ATT           TAX_4  (TAX,)
11  1      online_load  ATT           TAX_8  (TAX,)
12  1      online_load  ATT          TAX_11  (TAX,)

所需的输出如下所示:

    A                B    C               D     NEW
0   1       Adhoc_Task  WID          WI_DTL      []  
1   1  Arun_adhoc_load  ATT           IXN_1  (IXN,)
5   2    Batch_Support  ATT      CDS_STATUS      []
9   1      online_load  ATT           TAX_3  (TAX,)

我试图根据B列删除重复行。但是,当我运行

df.drop_duplicates(subset = ['B'], keep='first', inplace=True)

我收到以下错误:

TypeError: drop_duplicates() got an unexpected keyword argument 'subset'

我从python 3运行pandas 0.19.1,所以我看了一下这里的文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.drop_duplicates.html

我对subset的错误感到迷茫。如何根据一列中的值从DataFrame中删除重复项?

1 个答案:

答案 0 :(得分:7)

无论你的代码是什么原因,df都成了一个Series对象。在失败的type(df)电话之前检查drop_duplicates。该函数没有系列的subset参数。