파이썬을 활용한 데이터 분석 입문

[Python]데이터 전처리 - 문자열 처리

엔피디 2024. 8. 17. 22:20

 

데이터 프레임에서 문자열을 처리할 때, str 속성을 사용하여 다양한 문자열 메서드를 활용할 수 있습니다. 이번 포스팅에서는 Pandas에서 자주 사용하는 문자열 처리 메서드들 중 대소문자 처리와 문자열 조작에 대해 알아보겠습니다.

 


대소문자 변환

문자열을 모두 대문자로 변환

df.str.upper()

upper 메서드는 문자열을 모두 대문자로 변환합니다. 이를 통해 일관된 대문자 형식으로 데이터를 정규화할 수 있습니다.

import pandas as pd

data = {'Name': ['alice', 'Bob', 'CHARLIE']}
df = pd.DataFrame(data)

df['Name_upper'] = df['Name'].str.upper()
print(df)
      Name Name_upper
0    alice      ALICE
1      Bob       BOB
2  CHARLIE    CHARLIE 

문자열을 모두 소문자로 변환

df.str.lower()

lower 메서드는 문자열을 모두 소문자로 변환합니다. 대소문자를 구분하지 않고 데이터를 비교할 때 유용합니다.

df['Name_lower'] = df['Name'].str.lower()
print(df)
      Name Name_upper Name_lower
0    alice      ALICE      alice
1      Bob       BOB        bob
2  CHARLIE    CHARLIE    charlie

첫 문자를 대문자로, 나머지를 소문자로 변환

df.str.capitalize()

capitalize 메서드는 문자열의 첫 번째 문자를 대문자로, 나머지 문자를 소문자로 변환합니다. 이름과 같은 데이터를 표준 형식으로 정리할 때 사용됩니다

df['Name_capitalized'] = df['Name'].str.capitalize()
print(df
      Name Name_upper Name_lower Name_capitalized
0    alice      ALICE      alice            Alice
1      Bob       BOB        bob              Bob
2  CHARLIE    CHARLIE    charlie          Charlie

 

문자열 조작

문자열을 특정 구분자로 나누기

df.str.split(’기준점’)

split 메서드는 문자열을 지정된 구분자로 나누어 시리즈로 반환합니다. 구분자로는 일반적으로 공백이나 쉼표 등을 사용합니다.

data = {'Full_Name': ['Alice Smith', 'Bob Brown', 'Charlie Johnson']}
df = pd.DataFrame(data)

df[['First_Name', 'Last_Name']] = df['Full_Name'].str.split(' ', expand=True)
print(df)
         Full_Name First_Name Last_Name
0      Alice Smith      Alice     Smith
1        Bob Brown        Bob     Brown
2  Charlie Johnson    Charlie   Johnson

문자열의 앞뒤 공백 제거

df.str.strip()

strip 메서드는 문자열의 양 끝에 있는 공백을 제거합니다. 데이터 입력 시 발생할 수 있는 불필요한 공백을 제거할 때 유용합니다.

data = {'Name': ['  Alice  ', '  Bob', 'Charlie  ']}
df = pd.DataFrame(data)

df['Name_stripped'] = df['Name'].str.strip()
print(df)
         Name Name_stripped
0     Alice         Alice
1       Bob           Bob
2  Charlie        Charlie

문자열 대체

df.str.replace(’기존 문자열’, ‘새로운 문자열’ )

replace 메서드는 문자열 내의 특정 부분을 다른 문자열로 대체합니다. 예를 들어, 데이터 내의 잘못된 입력을 정정하거나 불필요한 문자들을 제거할 때 유용합니다.

data = {'Comments': ['I love pandas', 'Pandas is awesome', 'I enjoy pandas']}
df = pd.DataFrame(data)

df['Comments_replaced'] = df['Comments'].str.replace('pandas', 'Pandas', case=False)
print(df)
           Comments      Comments_replaced
0     I love pandas      I love Pandas
1  Pandas is awesome  Pandas is awesome
2  I enjoy pandas      I enjoy Pandas

 


 

이번 포스팅에서는 대소문자 처리와 문자열을 상황에 맞게 처리하는 방법에 대해 알아보았습니다. 대소문자 변환 메서드를 사용하여 일관된 데이터를 만들고, 문자열 조작 메서드를 사용해 데이터를 더욱 정교하게 다듬을 수 있습니다.