我有一个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条答案
按热度按时间70gysomp1#
不管代码中的原因是什么,df变成了Series对象。在失败的
drop_duplicates
调用之前检查type(df)
。该函数没有Series的subset
参数。