最近用到该函数来去除Dataframe中重复的项,这里将测试的内容放在这里
import pandas as pd
import numpy as np
data1=[0,0,0,0,0,0,0,0,1,1]
series=pd.Series(data1)
frame=pd.DataFrame(series) #创建一个Data frame
print(frame)
>>>
0
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 1
9 1
print(frame.duplicated()) #作用:返回布尔级数,表示重复的行,只考虑某些列。
# 第二次及以后重复出现的项会被标记为True
>>>
0 False
1 True
2 True
3 True
4 True
5 True
6 True
7 True
8 False
9 True
dtype: bool
print(frame[np.logical_xor(True,frame.duplicated())]) #与True异或,查看效果
>>>
0
0 0
8 1
print(frame[np.logical_xor(False,frame.duplicated())]) #与False异或,查看效果
>>>
0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
9 1
可以看到,frame.duplicated()与True异或,可以达到去除重复项的目的。每一行的索引会被保留。