
drop_duplicates는 DataFrame에서 중복된 행(row) 을 제거할 때 사용하는 메서드.
- 기본적으로 전체 row 전체를 기준 으로 중복을 판별.
subset파라미터를 사용하면 특정 column 하나 혹은 여러 columns을 기준으로 중복을 판별하여 제거할 수 있음.
예제
예제를 위한 간단한 DataFrame생성
import pandas as pd
# 간단한 DataFrame 생성
df = pd.DataFrame({
"Name": ["Alice", "Bob", "Charlie", "Alice", "Bob"],
"Sex": ["F", "M", "M", "F", "M"],
"Age": [25, 30, 30, 25, 40]
})
print("원본 DataFrame:")
print(df)

기본 사용
# 전체 행 기준 중복 제거
print("\n중복 제거 (전체 행 기준):")
print(df.drop_duplicates())
drop_duplicates(): 전체 행 기준으로 중복 제거

중복되는 것들 중 최초로 등장한 것만 남김.
subset을 활용
# 특정 열 기준 중복 제거 (단일 컬럼)
print("\n중복 제거 (Name 열 기준):")
print(df.drop_duplicates(subset=["Name"]))
drop_duplicates(subset=["col"]): 특정 열 기준으로 중복 제거

복수개의 column지정한 subset.
# 복수 열 기준 중복 제거 (Name + Sex)
print("\n중복 제거 (Name + Sex 열 기준):")
print(df.drop_duplicates(subset=["Name", "Sex"]))
drop_duplicates(subset=["col1", "col2"]): 여러 열을 조합해 중복 제거

keep 파라미터를 통한 남길 row 제어
# keep 옵션: 'first'(기본), 'last', False
print("\n중복 제거 (Name + Sex 열 기준, 마지막 값 유지):")
print(df.drop_duplicates(subset=["Name", "Sex"], keep="last"))
keep옵션:'first'(기본) : 첫 번째 항목 유지'last': 마지막 항목 유지False: 모든 중복 제거

# 전체 행 기준 중복 제거하는데 중복되는 것은 모조리 삭제.
print("\n중복된 경우 전체 record 제거 (전체 행 기준):")
print(df.drop_duplicates(keep=False))
- 중복된 record는 모조리 삭제.

같이보면 좋은 자료
2024.01.09 - [Python/pandas] - [pandas] Column (or rows) 제거하기
[pandas] Column (or rows) 제거하기
DataFrame 에서 column을 제거하는데에 사용되는 idiomatic approach는 drop 메서드를 사용하는 것임. 사실 drop은 axis라는 parameter를 가지고 있고,0이 주어지면 row를 지우고,1이 주어지면 column을 지움.첫번째
ds31x.tistory.com
2024.01.09 - [Python/pandas] - [pandas] dropna : missing value 처리 (삭제)
[pandas] dropna : missing value 처리 (삭제)
na 는 not available 로서 값이 비어있거나 숫자가 아니거나(nan: not a number) 등등으로특정 cell에 값이 유효하지 않아 사실상 비어있는 경우를 의미함.dropna는 na값을 가지고 있는 row나 column을 제거하는
ds31x.tistory.com
'Python > pandas' 카테고리의 다른 글
| [Pandas] DataFrame : Basic Attributes and Exploration Methods (0) | 2025.08.21 |
|---|---|
| [Pandas] DataFrame 생성-다른 데이터 타입의 객체로부터 (0) | 2025.08.21 |
| [Pandas] .map() 과 .apply() 메서드 (4) | 2025.08.20 |
| [Pandas] groupby() 메서드 (0) | 2025.08.20 |
| [Term] pivot 이란? (0) | 2025.08.20 |