소개
이 랩에서는 pandas 에서 텍스트 데이터를 처리하는 방법을 소개합니다. 텍스트 데이터를 저장하고, 데이터 전처리 및 변환을 위해 문자열 메서드를 사용하며, 정규 표현식을 사용하여 부분 문자열을 추출하는 방법을 배우게 됩니다. 또한 머신 러닝 알고리즘을 위한 더미 변수를 생성하는 방법도 배웁니다.
VM 팁
VM 시작이 완료되면, 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.
학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.
텍스트 데이터 저장
pandas 에서는 텍스트 데이터를 두 가지 방법으로 저장할 수 있습니다: object dtype NumPy 배열을 사용하거나 StringDtype 확장 타입을 사용하는 것입니다. 일반적인 object dtype 보다 안전하고 더 구체적이므로 StringDtype을 사용하는 것이 좋습니다.
import pandas as pd
## create a series with `object` dtype
s1 = pd.Series(["a", "b", "c"], dtype="object")
## create a series with `StringDtype`
s2 = pd.Series(["a", "b", "c"], dtype="string")
문자열 메서드 사용
Pandas 는 문자열 데이터를 쉽게 조작할 수 있도록 다양한 문자열 처리 메서드를 제공합니다. 이러한 메서드는 누락된/NA 값을 자동으로 제외합니다.
s = pd.Series(
["A", "B", "C", "Aaba", "Baca", np.nan, "CABA", "dog", "cat"], dtype="string"
)
## convert to lowercase
s.str.lower()
## convert to uppercase
s.str.upper()
## calculate the length of each string
s.str.len()
부분 문자열 추출
정규 표현식 (regular expression) 을 사용하여 부분 문자열을 추출할 수 있습니다. extract 메서드는 하나 이상의 캡처 그룹 (capture group) 이 있는 정규 표현식을 허용합니다.
## extract the first digit from each string
s = pd.Series(["a1", "b2", "c3"], dtype="string")
s.str.extract(r"(\d)", expand=False)
문자열 검사
contains 및 match 메서드를 사용하여 요소가 패턴을 포함하는지 또는 일치하는지 확인할 수 있습니다.
## check if each string contains the pattern "a"
s.str.contains("a", na=False)
## check if each string matches the pattern "a"
s.str.match("a", na=False)
더미 변수 생성
get_dummies 메서드를 사용하여 문자열 데이터로부터 더미 변수 (dummy variables) 를 생성할 수 있습니다.
## create dummy variables
s = pd.Series(["a", "a|b", np.nan, "a|c"], dtype="string")
s.str.get_dummies(sep="|")
요약
이 랩에서는 pandas 에서 텍스트 데이터를 처리하는 방법을 배웠습니다. 텍스트 데이터를 저장하고, 데이터 전처리 및 변환을 위해 문자열 메서드를 사용하고, 정규 표현식을 사용하여 부분 문자열을 추출하고, 요소가 패턴을 포함하거나 일치하는지 테스트하고, 더미 변수를 생성하는 방법을 배웠습니다. 이러한 기술은 머신 러닝 알고리즘을 위한 텍스트 데이터를 처리하는 데 기본적인 것입니다.