-
[Pandas] 데이터프레임 칼럼 나누기, 칼럼 합치기 :: split() join() apply()직접 해보기/Python 2024. 7. 3. 12:33728x90반응형
0️⃣ 패키지 & 데이터프레임 불러오기
- 예시가 될 데이터셋은 Kaggle에서 가져온 Flight Price Prediction 입니다.
- 비행사(airline), 비행편 이름(flight) 칼럼만 가져왔고, 비행편 이름 칼럼으로 칼럼 나누기 합치기 테스트를 해볼게요.
import pandas as pd import numpy as np # 데이터셋 불러오기 : 비행사, 비행편 이름만 df = pd.read_csv('./Clean_Dataset.csv', usecols=['airline', 'flight'], encoding='cp949')
1️⃣ 칼럼 나누기 :: .str.split()
- 비행편 이름(flight) 중간의 '-' 를 기준으로 나눠서, 제조사(manufacturer)와 모델이름(model) 칼럼 2개로 나눠보겠습니다.
- 아래와 같이 .str.split() 메소드를 이용하면 특정 문자열 혹은 공백을 기준으로 나눌 수 있습니다.
파라미터 expand=True 를 넣어줘야 데이터프레임 형태로 반환해줍니다.
# 칼럼 1개를 여러개로 나누기 df[['manufacturer', 'model']] = df['flight'].str.split('-', expand=True)
2️⃣ 칼럼 합치기 :: apply, lambda, join
- 위에서 나눈 칼럼 2개를 다시 합쳐서 원래 칼럼과 동일한 형태로 만들어볼게요.
- 칼럼을 합칠 때는 apply(), lambda함수를 사용했습니다.
'-' 를 기준으로 두개 칼럼의 문자열이 합쳐지도록 join() 메소드를 넣었어요.
# 칼럼 여러개를 1개로 합치기 df['flight_new'] = df[['manufacturer', 'model']].apply(lambda x: '-'.join(x.values.astype(str)), axis=1)
참고 문서: https://pandas.pydata.org/docs/reference/api/pandas.Series.str.split.html
728x90반응형'직접 해보기 > Python' 카테고리의 다른 글
[seaborn] 데이터프레임으로 빈도그래프 빈도차트 카운트차트 그리기 :: sns.countplot (0) 2024.07.11 [Pandas][sklearn] 정규화, 표준화 - 수치형데이터 스케일링 :: MinMaxScaler StandardScaler (0) 2024.07.02 [Pandas][sklearn] 인코딩, 원핫인코딩 범주형데이터 수치형으로 변환하기 :: pd.factorize pd.get_dummies (0) 2024.07.01 [Pandas] 구간화(Binning) 연속형데이터를 범주형으로 변환하기 :: pd.cut pd.qcut (0) 2024.07.01 [Pandas] 이상치 확인, 이상치 처리하기 :: Z-score 방법, IQR 방법 (0) 2024.07.01