[Python] 연습

[Python] 판다스 문자열 구분자로 나누기

Simon Yoon 2022. 3. 11. 22:05

파이썬 판다스에는 문자열을 다룰 수 있는 여러 함수가 존재합니다. 그 중에서 자주 사용할 수 있는 것이 split()일 것입니다.

str.split('구분자') 형식을 사용하면 쉽게 컬럼을 나눌 수 있습니다.

4가지 방법을 아래의 예시를 활용하여 연습해보겠습니다.

일단 아래의 예시 데이터를 가운데 공백을 구분자로 하여 '년월일'과 '시분' 정보로 구분해보겠습니다.

 

- 방법1

이 방식은 문자열을 구분하여 발생하는 새로운 열을 직접 데이터프레임에 붙입니다.

df['년월일'] = df['회원가입 정보'].str.split(' ').str[0]
df['시분'] = df['회원가입 정보'].str.split(' ').str[1]
df

 

- 방법2

이 방법은 문자열을 구분하여 새로운 데이터프레임 형태로 바로 생성합니다. 이 후에 concat을 사용하여 데이터셋을 합칠 수 있습니다.

df2 = pd.DataFrame(df['회원가입 정보'].str.split(' ').tolist(), columns = ['년월일', '시분'])
df2

 

- 방법3

이 방법은 방법1과 유사합니다. 먼저 구분자로 문자열을 구분한 후, 새로운 열로 생성합니다.

info_list = df['회원가입 정보'].str.split(' ')
df['년월일'] = info_list.str.get(0)
df['시분'] = info_list.str.get(1)
df

 

- 방법4

이 방법은 방법1, 3과 동일한 결과를 만들어내면서 여러 줄에 거치지 않고 한 줄로 짧게 작성할 수 있습니다.

df[['년월일', '시분']] = df['회원가입 정보'].str.split(' ', expand = True)
df