2016-11-18 51 views
2

我有一個DF,看起來像這樣:我想放棄重複行「子集」不工作的drop_duplicates大熊貓據幀

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,) 

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,) 

所需的輸出應該是這樣的基於關閉B列。然而,當我運行

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

我得到以下錯誤:

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

我在Python 3運行大熊貓0.19.1,所以我看了一下文檔這裏:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.drop_duplicates.html

我沒有什麼我做錯了與subset的foggiest。我將如何從DataFrame中刪除一列中的值的重複項?

+1

對我來說,它完美的作品。但你可以試試'df.drop_duplicates(['B'],inplace = True)'或'df.drop_duplicates('B',inplace = True)' – jezrael

+0

我試過了......我得到以下錯誤:'ValueError :保持必須是「第一」,「最後」或假# – unasalusvictis

+0

我也試過。我得到以下內容:'TypeError:drop_duplicates()獲得了多個值作爲參數'keep'' – unasalusvictis

回答

5

無論您的代碼是什麼原因,df都會成爲Series對象。請在致電drop_duplicates失敗前檢查type(df)。該函數沒有subset該系列的參數。

+0

超好的答案。 +1 – jezrael