[Pandas] 문자열을 여러개의 컬럼으로 나누기
- Python/Pandas
- 2021. 7. 24.
반응형
반응형
크롤링을 하거나 데이터를 받았는데 문자열과 기호가 섞여 있는 경우가 있습니다.
판다스에는 따로 그런걸 할 수 있는 메쏘드는 없고 기본 지식을 이용해 컬럼을 쪼개봅시다.
예를 들어 중간고사 점수 데이터를 받았는데 다음과 같이 한 덩어리로 주었다고 합시다.
import pandas as pd
df = pd.DataFrame({'Mid-term': ['Anne:M:100:A', 'Peter:F:50:C', 'Max:M:90:B']})
df
황당무계한 데이터를 보기 좋게 컬럼을 자르려고 하는 겁니다.
판다스의 메쏘드가 없으니 만들어 합시다.
문자열을 ':'로 나누고 데이터프레임도 나눠진 문자열만큼 컬럼을 만들어 냅니다.
먼저 문자열을 나눠야 하니 split() 이용합니다.
그리고 컬럼에 넣어야 하니 리스트로 반환하겠습니다.
df['Mid-term'].str.split(':').tolist()
이제 컬럼에 맞춰서 넣습니다.
컬럼에 원하는 이름으로 해서 데이터가 4개씩 쪼개져야 하니 4개의 컬럼을 만듭니다.
df2 = pd.DataFrame(df['Mid-term'].str.split(':').tolist(),columns=['Name','Gender','Score','Grade'])
df2
메쏘드가 있다면 사용하면 제일 좋겠지만 메쏘드가 없을때는
파이썬에 주어진 기본적인 방법으로 하나씩 풀어나갈 수 있으니
응용을 잘하는 게 코딩실력을 올리는 지름길이 아닌가 싶습니다.
관련 포스팅
[Python/기초] - [Python] 문자열(string) 다루기
'Python > Pandas' 카테고리의 다른 글
[Pandas] notna,notnull (0) | 2021.08.14 |
---|---|
[Pandas]데이터프레임 로우와 컬럼 바꾸기(df.T) (0) | 2021.07.25 |
[Pandas] 데이터프레임 멀티인덱스 다루기(loc,xs) (0) | 2021.07.18 |
[Pandas] 어디까지 열 수 있니?(I/O with pandas) (4) | 2021.06.25 |
[Pandas] 데이터프레임 정렬하기(sort_index,sort_values) (0) | 2021.06.12 |