본문으로 건너뛰기

03-070. 대소문자 처리

대소문자 통일

영문 데이터에서 대소문자가 섞여 있으면 같은 값을 다른 값으로 인식할 수 있다. 예를 들어, 이메일 주소나 제품 코드와 같은 데이터는 대소문자를 통일하여 일관성을 유지하는 것이 좋다. 그룹 집계를 할 때 그룹의 기준이 되는 컬럼에 대소문자가 정리되어 있지 않거나 중복 제거에 영향을 준다.

코드

import pandas as pd

# 샘플 데이터 생성
data = {
'이메일': ['User@example.com', 'ADMIN@EXAMPLE.COM', 'user@EXAMPLE.com'],
'제품코드': ['abc123', 'ABC123', 'Abc123'],
'이름': ['john doe', 'JANE SMITH', 'robert brown']
}
df = pd.DataFrame(data)

print("원본 데이터:")
print(df)
print("\n")

# 소문자로 통일 (이메일 주소는 일반적으로 소문자로 처리)
df['이메일'] = df['이메일'].str.lower()

# 대문자로 통일 (제품 코드는 일반적으로 대문자로 처리)
df['제품코드'] = df['제품코드'].str.upper()

# 첫 글자만 대문자로 (이름은 일반적으로 각 단어의 첫 글자를 대문자로)
df['이름'] = df['이름'].str.title()

print("대소문자 변환 후:")
print(df)

실행 결과

원본 데이터:
이메일 제품코드 이름
0 User@example.com abc123 john doe
1 ADMIN@EXAMPLE.COM ABC123 JANE SMITH
2 user@EXAMPLE.com Abc123 robert brown

대소문자 변환 후:
이메일 제품코드 이름
0 user@example.com ABC123 John Doe
1 admin@example.com ABC123 Jane Smith
2 user@example.com ABC123 Robert Brown

주요 문자열 메서드

  • str.lower(): 모든 문자를 소문자로 변환
  • str.upper(): 모든 문자를 대문자로 변환
  • str.title(): 각 단어의 첫 글자만 대문자로 변환
  • str.capitalize(): 문자열의 첫 글자만 대문자로 변환

이러한 대소문자 변환은 데이터 정제 과정에서 매우 중요하며, 특히 다음의 경우를 위해 많이 한다.

  • 이메일 주소 정규화
  • 제품 코드 표준화
  • 영문 이름 데이터 정규화
  • 검색 및 매칭 작업 전 데이터 준비