1. 程式人生 > >Dataframe 如何去重

Dataframe 如何去重

python中的pandas模組中對重複資料去重步驟:

1)利用DataFrame中的duplicated方法返回一個布林型的Series,顯示各行是否有重複行,沒有重複行顯示為FALSE有重複行顯示為TRUE

2)再利用DataFrame中的drop_duplicates方法用於返回一個移除了重複行的DataFrame

註釋:

如果duplicated方法和drop_duplicates方法中沒有設定引數,則這兩個方法預設會判斷全部列元素都重複才返回,如果在這兩個方法中加入了指定的屬性名(或者稱為列名),例如:frame.drop_duplicates(['state']),則僅對指定列(state列)進行重複的判斷,決定是否返回改行。

具體例項如下:

  1. >>> import pandas as pd  
  2. >>> data={'state':[1,1,2,2],'pop':['a','b','c','d']}  
  3. >>> frame=pd.DataFrame(data)  
  4. >>> frame  
  5.   pop  state  
  6. 0   a      1  
  7. 1   b      1  
  8. 2   c      2  
  9. 3   d      2  
  10. >>> IsDuplicated=frame.duplicated()  
  11. >>> print IsDuplicated  
  12. 0    False  
  13. 1    False  
  14. 2    False  
  15. 3    False  
  16. dtype: bool  
  17. >>> frame=frame.drop_duplicates(['state'])  
  18. >>> frame  
  19.   pop  state  
  20. 0   a      1  
  21. 2   c      2  
  22. >>> IsDuplicated=frame.duplicated(['state'])  
  23. >>> print IsDuplicated  
  24. 0    False  
  25. 2    False  
  26. dtype: bool  
  27. >>>