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