Dataframe 如何去重
阿新 • • 發佈:2018-12-31
python中的pandas模組中對重複資料去重步驟:
1)利用DataFrame中的duplicated方法返回一個布林型的Series,顯示各行是否有重複行,沒有重複行顯示為FALSE,有重複行顯示為TRUE;
2)再利用DataFrame中的drop_duplicates方法用於返回一個移除了重複行的DataFrame。
註釋:
如果duplicated方法和drop_duplicates方法中沒有設定引數,則這兩個方法預設會判斷全部列元素都重複才返回,如果在這兩個方法中加入了指定的屬性名(或者稱為列名),例如:frame.drop_duplicates(['state']),則僅對指定列(state列)進行重複的判斷,決定是否返回改行。
具體例項如下:
- >>> import pandas as pd
- >>> data={'state':[1,1,2,2],'pop':['a','b','c','d']}
- >>> frame=pd.DataFrame(data)
- >>> frame
- pop state
- 0 a 1
- 1 b 1
- 2 c 2
- 3 d 2
- >>> IsDuplicated=frame.duplicated()
- >>> print IsDuplicated
- 0 False
- 1 False
- 2 False
- 3 False
- dtype: bool
- >>> frame=frame.drop_duplicates(['state'])
- >>> frame
- pop state
- 0 a 1
- 2 c 2
- >>> IsDuplicated=frame.duplicated(['state'])
- >>> print IsDuplicated
- 0 False
- 2 False
- dtype: bool
- >>>