반응형

12-08 중복행 확인 (duplicated)

DataFrame.duplicated(subset=None, keep='first')

 

개요


duplicated 메서드는 중복되는 행을 확인하는 메서드입니다.
행의 모든 요소가 동일한 행이 이미 존재할경우 해당 행은 True로 반환됩니다.

 

사용법


기본 사용법
df.duplicated(subset=None, keep='first')
subset : 특정 열만을 대상으로 할 수 있습니다. list의 사용도 가능합니다.
keep : {first : 위부터 검사 / last : 아래부터 검사} 검사 순서를 정합니다. first일 경우 위부터 확인해서 중복행이 나오면 True를 반환하며, last일 경우 아래부터 확인합니다.

반응형

 

예시


먼저 5x3짜리 객체를 만들어보겠습니다.

idx = ['row1','row2','row3','row4','row5']
col = ['col1','col2','col3']
data= [['A','가',1],['A','가',1],['A','나',2],['B','나',3],['B','다',4]]
df = pd.DataFrame(data, idx, col)
print(df)
>>
     col1 col2  col3
row1    A    가     1
row2    A    가     1
row3    A    나     2
row4    B    나     3
row5    B    다     4

기본적인 사용법
기본적으로 keep='first'이며 위에서부터 행을 확인하여 중복인 행이 나오면 True를 반환합니다.

print(df.duplicated(keep='first'))
>>
row1    False
row2     True # row1과 row2는 모든 요소가 같고, 위에서부터 확인시 row2가 중복값이 됩니다. -> True반환 
row3    False
row4    False
row5    False
dtype: bool

keep='last'일 경우 아래부터 행을 확인하여 중복인 행이 나오면 True를 반환합니다.

print(df.duplicated(keep='last'))
>>
row1     True # row1과 row2는 모든 요소가 같고, 아래에서부터 확인시 row1가 중복값이 됩니다. -> True반환 
row2    False
row3    False
row4    False
row5    False
dtype: bool


subset으로 특정 열만 확인
subset을 이용하여 특정 열을 대상으로만 중복행의 확인이 가능합니다.

print(df.duplicated(subset=['col1','col3']))
>>
row1    False
row2     True
row3     True
row4    False
row5     True
dtype: bool
반응형

+ 최근 글