Allen's 데이터 맛집

파이썬으로 특정 열의 중복 데이터 확인하기 본문

Programming/Python

파이썬으로 특정 열의 중복 데이터 확인하기

Allen93 2024. 10. 23. 10:45
파이썬에서 특정 열의 중복된 데이터를 확인하는 방법에 대해 알아보려고 합니다. 데이터를 다루다 보면 같은 값이 반복되는 경우가 꽤 자주 발생하는데요. 이러한 중복 데이터는 분석 결과에 영향을 줄 수 있기 때문에 이를 잘 처리하는 것이 중요합니다.

중복 데이터

 


1. 중복된 데이터를 확인해야 하는 이유

데이터 분석에서는 중복된 데이터를 그냥 두면 결과가 왜곡될 수 있습니다. 예를 들어, 동일한 고객의 주문 내역이 중복되어 기록되었다면, 고객의 구매 패턴을 정확하게 분석하기 어려워질 수 있습니다. 따라서 데이터 분석을 하기 전에 중복 데이터를 찾아내고, 이를 적절하게 처리하는 것이 매우 중요합니다.


2. 파이썬에서 중복 데이터 확인하기

파이썬에서는 Pandas 라이브러리를 사용해 중복된 데이터를 쉽게 찾을 수 있습니다. Pandas는 데이터 분석에 굉장히 유용한 도구로, 중복된 데이터를 찾는 데도 매우 간단하게 사용할 수 있습니다.

 

예시 코드.

import pandas as pd

# 예시 데이터 생성
data = {'이름': ['철수', '영희', '민수', '철수', '영희'],
        '나이': [20, 21, 19, 20, 21]}

df = pd.DataFrame(data)

# 특정 열에서 중복된 데이터 확인 (이름 열 기준)
duplicates = df[df.duplicated(subset=['이름'], keep=False)]

print(duplicates)

위 코드를 보면 '이름' 열에서 중복된 값을 확인하고 있어요. subset=['이름']으로 중복을 확인할 열을 지정하고, keep=False는 중복된 모든 데이터를 표시하겠다는 의미입니다. 이 코드로 중복된 모든 데이터를 확인할 수 있습니다.


3. 중복 데이터 제거하기

Pandas에서는 간단한 함수로 중복된 데이터를 제거할 수 있습니다.

 

예시코드.

# 중복된 데이터 제거 (첫 번째 중복만 남기고 나머지 제거)
df_cleaned = df.drop_duplicates(subset=['이름'])

print(df_cleaned)

이 코드에서는 '이름' 열에서 중복된 값 중 첫 번째 값만 남기고 나머지를 제거합니다. 만약 마지막 값만 남기고 싶다면, keep='last' 옵션을 사용할 수 있습니다.


4. 중복된 데이터를 활용하는 방법

모든 중복 데이터를 다 제거하는 것이 항상 좋은 해결책은 아닙니다. 때로는 중복 데이터를 제거하기보다는 그 중복 횟수를 활용해 새로운 인사이트를 도출할 수 있죠. 예를 들어, 중복된 데이터의 빈도를 확인하고 이를 분석에 활용할 수도 있습니다.

 

# 중복된 데이터를 카운트해서 새로운 열 추가
df['중복_횟수'] = df.groupby('이름')['이름'].transform('count')

print(df)

위 코드는 중복 횟수를 계산하여 새로운 열에 추가하는 방법입니다. 이렇게 하면 데이터를 삭제하지 않고도 중복된 데이터가 몇 번 나타났는지 알 수 있습니다.


5. 현실 적용 예시

예를 들어, 온라인 쇼핑몰의 고객 데이터를 분석한다고 가정해봅시다. 만약 고객 이름이 중복된다면, 동일한 고객이 여러 번 구매한 경우일 수도 있고, 혹은 시스템 오류로 인해 데이터가 중복 입력된 경우일 수도 있습니다. 이러한 경우 중복된 데이터를 잘 처리해 주어야만 정확한 분석 결과를 얻을 수 있습니다.