티스토리 뷰

 

안녕하세요. 죠쵸입니다.

Pandas, concat() 함수 사용하기 라는 주제로 오늘은 이야기 하려고 합니다. concat은 기존에 존재하는 데이터를 merge(통합/연결) 하는 기능을 합니다. 데이터를 분석 및 연산하기 위해서 종종 데이터를 merge(통합/연결) 할 필요가 있습니다. 지난 번 캐글의 타이타닉 경진대회 시 사용된 데이터를 통해서 사용방법을 나누도록 하겠습니다. 

타이타닉 경진대회에 대한 기초지식은 지난 번 포스팅을 참고 부탁 드립니다.

2020/08/29 - [Data Science] - 캐글 타이타닉 데이터 분석 및 시각화

 

#concate()  row(index) data 연결

 

train data와 test data를 통합하여 데이터를 분석하는 예제를 보여드리려고 합니다. Train data의 경우 (891 X 34), Test data의 경우(418 X 33)으로 이루어져 있습니다. Test의 경우 Train 보다 한개의 컬럼(Survived)이 작은 것을 볼 수 있습니다. 그 이유는 Train data를 통해서 Test data의 Survived 값을 예측하는 것이 목적이기 때문입니다.

print(train.shape)
print(test.shape)

 

두개의 data 세트를 통합했을 경우 총 1309 rows가 되어야 합니다. 아래와 같이 Pandas의 concat함수를 통해서 두 데이터 셋트를 통합/연결할 수 있습니다. concat 함수의 axis 파라미터를 명시하지 않았는데, 기본적으로 axis 는 0, 즉 index 연결을 의미 합니다. 통합된 data (all_data)에서 drop이라는 함수를 통해서 Survived 컬럼을 제거하였습니다. 따라서 통합된 data가 (1309 X 33) 로 이루어졌습니다.

all_data = pd.concat([train, test]).reset_index(drop=True)
all_data.drop(['Survived'], axis=1, inplace=True)
print(all_data.shape)

 

#concate()  column data 연결

 

row 데이터를 추가한 것처럼 기존에 존재하는 data에 column data 를 통합/연결할 수 있습니다. 타이타닉 data 중 Title을 Name 컬럼을 통해서 추출 할 수 있습니다. 추출된 data를 Title이라는 column에 삽입하였습니다.

train["Title"].head()

 

Title data를 Machine Learing 알고리즘에 적용하기 위해서는 숫자 데이터로 변환이 필요한데, Title과 같은 카테고리성 data는 One Hot Encoding으로 변환이 가능합니다. One Hot Encoding은 별도 포스팅으로 설명을 드렸습니다. 아래의 글의 참조 부탁 드립니다.

2020/09/18 - [Data Science] - Pandas(판다스), One Hot Encoding 처리하기

 

Title data도 One Hot Encoding을 진행하고, 생성된 신규 컬럼을 아래와 같이 통합/연결할 수 있습니다. axis 파라미터 값을 1로 지정하여 column을 연결함을 명시하였습니다.

train_title_dummies = pd.get_dummies(train.Title, prefix='Title')
train_title_dummies.head()

train = pd.concat([train, train_title_dummies], axis=1)
train[["Title", "Title_Dr", "Title_Master", "Title_Miss", "Title_Mr",
      "Title_Mrs", "Title_Rev"]].head()

 

방문해 주셔서 감사합니다. 여러분의 공감하기(), 댓글과 구독은 저에게 힘이 됩니다.

이상으로 죠쵸였습니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함