이번 포스팅에서는 데이터 분석 시 필수적으로 알아야 하는 Python Pandas 라이브러리의 함수 중 중복 행 제거 함수 drop_duplicates 에 대해서 알아 보겠습니다.
중복 행 제거 함수 drop_duplicates 구문
중복 행을 제거하는 함수 drop_duplicates 함수 구문은 아래와 같고,
DataFrame.drop_duplicates(subset = None, *,
keep = ‘first’,
inplace = False,
ignore_index = False)
반환 값은 중복 행이 제거된 DataFrame입니다.
drop_duplicates 인수
- subset : column label or sequence of labels, optional
- 특정 열에 대해서만 중복 여부를 판단할 때 사용합니다. 기본적으로 모든 열을 기준으로 중복 여부를 체크합니다.
- keep : {‘first’, ‘last’, False}, default ‘first’
- 중복 행을 제거할 때, 유지할 행을 결정합니다.
- ‘first’ : 중복 행 중 첫 번째 행을 유지하고, 중복된 항목을 삭제합니다.
- ‘last’ : 중복 행 중 마지막 행을 유지하고, 중복된 항목을 삭제합니다.
- False : 모든 중복 항목을 삭제합니다.
- inplace : bool, default False
- DataFrame을 새로 만드는 대신 기존 DataFrame을 업데이트 할 지 결정합니다.
- ignore_index : bool, default False
- True인 경우 결과 축에는 0, 1, …, n – 1이라는 인덱스 값을 지정합니다.
drop_duplicates 사용 예시
import pandas as pd
tempData = pd.DataFrame({
'브랜드': ['농심', '농심', '오뚜기', '오뚜기', '오뚜기'],
'유형': ['컵', '컵', '컵', '팩', '팩'],
'등급': [4, 4, 3.5, 15, 5]
})
tempData
--------------------------------------------------------------
브랜드 유형 등급
0 농심 컵 4.0
1 농심 컵 4.0
2 오뚜기 컵 3.5
3 오뚜기 팩 15.0
4 오뚜기 팩 5.0
기본적으로 모든 열의 값이 중복일 때 행을 제거합니다.
tempData.drop_duplicates()
--------------------------------------------------------------
브랜드 유형 등급
0 농심 컵 4.0
2 오뚜기 컵 3.5
3 오뚜기 팩 15.0
4 오뚜기 팩 5.0
특정 열의 값 기준으로 중복 항목을 제거하려면 subset 옵션을 사용합니다.
tempData.drop_duplicates(subset = ['브랜드'])
--------------------------------------------------------------
브랜드 유형 등급
0 농심 컵 4.0
2 오뚜기 컵 3.5
중복 행을 제거하고 마지막 행을 유지하려면 keep 옵션을 사용합니다.
tempData.drop_duplicates(subset = ['브랜드', '유형'], keep = 'last')
--------------------------------------------------------------------
브랜드 유형 등급
1 농심 컵 4.0
2 오뚜기 컵 3.5
4 오뚜기 팩 5.0
이상으로 데이터 분석 및 전처리 시 필수적으로 사용하는 drop_duplicates에 대해서 알아 보았습니다. Python을 데이터 분석 및 전처리 용으로 많이 사용하고자 하시는 분들이라면 필히 알고 계셔야 하는 함수입니다.
감사합니다.