[파이썬] 데이터 중복 처리

데이터 중복은 데이터 분석과 데이터 처리 작업에서 흔히 발생하는 문제입니다. 중복된 데이터를 처리하지 않으면 결과의 정확성과 효율성이 저하될 수 있습니다. 따라서, 이번 블로그에서는 파이썬을 사용하여 데이터 중복을 처리하는 방법을 알아보겠습니다.

1. 중복된 데이터 확인

중복된 데이터를 처리하기 전에 먼저 중복된 데이터를 확인해야 합니다. 이를 위해 파이썬에서는 pandas 라이브러리를 사용할 수 있습니다. 다음은 중복된 데이터를 확인하는 코드입니다.

import pandas as pd

# DataFrame 생성
data = {'Name': ['John', 'Mike', 'Emily', 'John', 'Mike'],
        'Age': [25, 30, 28, 25, 30],
        'City': ['Seoul', 'Tokyo', 'London', 'Seoul', 'Tokyo']}
df = pd.DataFrame(data)

# 중복된 데이터 확인
duplicated_df = df[df.duplicated()]
print(duplicated_df)

위 코드에서는 pandas의 DataFrame을 사용하여 데이터를 생성하고, duplicated() 함수를 사용하여 중복된 데이터를 확인합니다. 중복된 데이터가 있는 경우 해당 데이터를 출력합니다.

2. 중복된 데이터 제거

중복된 데이터를 확인했다면, 다음 단계로는 중복된 데이터를 제거해야 합니다. 중복 데이터 제거를 위해서는 drop_duplicates() 함수를 사용합니다. 아래는 중복된 데이터를 제거하는 코드입니다.

import pandas as pd

# DataFrame 생성
data = {'Name': ['John', 'Mike', 'Emily', 'John', 'Mike'],
        'Age': [25, 30, 28, 25, 30],
        'City': ['Seoul', 'Tokyo', 'London', 'Seoul', 'Tokyo']}
df = pd.DataFrame(data)

# 중복된 데이터 제거
df = df.drop_duplicates()
print(df)

위 코드에서는 drop_duplicates() 함수를 사용하여 중복된 데이터를 제거합니다. 중복된 데이터가 있을 경우에는 첫 번째로 나오는 데이터를 유지하고, 나머지 중복 데이터는 제거됩니다.

3. 중복된 데이터 처리 옵션

drop_duplicates() 함수를 사용하여 중복된 데이터를 처리할 때, 몇 가지 옵션을 선택할 수 있습니다. 다음은 두 가지 주요한 옵션입니다.

3.1. keep 옵션

keep 옵션은 중복된 데이터 중 어떤 데이터를 유지할지를 결정합니다. 기본 값은 ‘first’로 첫 번째로 나온 데이터를 유지합니다. 때로는 마지막으로 나온 데이터를 유지해야 할 경우도 있습니다. 아래 코드는 keep 옵션을 사용하여 마지막으로 나온 데이터를 유지하는 예시입니다.

df = df.drop_duplicates(keep='last')

3.2. subset 옵션

subset 옵션은 특정 열을 기준으로 중복 데이터를 확인하고 제거합니다. 모든 열을 대상으로 확인하고 제거하는 기본 동작과는 달리, 특정 열을 지정할 수 있습니다. 아래 코드는 subset 옵션을 사용하여 ‘Name’ 열을 기준으로 중복된 데이터를 제거하는 예시입니다.

df = df.drop_duplicates(subset='Name')

결론

데이터 중복은 데이터 분석 작업에서 주로 발생하는 문제입니다. 파이썬의 pandas 라이브러리를 사용하여 데이터 중복을 효과적으로 처리할 수 있습니다. 데이터 중복 확인을 위해 duplicated() 함수를 사용하고, 중복 데이터를 제거하기 위해 drop_duplicates() 함수를 사용합니다. keep과 subset 옵션을 적절하게 설정하여 중복 데이터를 처리할 수 있습니다.