본문 바로가기

Pandas/전처리

판다스 - 나이를 나이대로 범주화(카테고리화)하기

반응형

https://steadiness-193.tistory.com/96

 

판다스 - 누락데이터를 그룹별로 대체하여 컬럼 만들기 (insert, groupby, transform, fillna)

데이터 불러오기 타이타닉의 train 데이터셋을 받아왔다. https://steadiness-193.tistory.com/14 판다스 - 누락 데이터 확인(isnull(), count_nonzero()) 타이타닉 데이터 불러오기 deck 컬럼의 경우 전체 891개..

steadiness-193.tistory.com

 

위 포스팅에서 나이 컬럼의 누락데이터를

 

Survived와 성별로 그룹화한 평균값으로 대체했다.

 

 

 

위 데이터를 불러와서 범주화를 진행해보자

 

참고용, NaN 대체됨

 

 

 

 

전체 데이터

 

 

이제 이 train 데이터프레임에서 

 

Age_filled를 이용해 나이대를 만들어보자

 

 

우선 10살 미만인 데이터는 제외하자

 

 

 

불린 조건을 데이터프레임에 주면

 

 

 

 

 

기존 891행에서 829행으로 줄어들었다.

 

 

 

 

apply를 이용하기 전에 

 

나이대를 만드는 함수를 정의하자.

 

 

 

https://steadiness-193.tistory.com/28

 

판다스 - apply, applymap, pipe(1)

INPUT USE RETURN 시리즈 원소 apply 단일 값, 시리즈 시리즈 객체 (데이터프레임의 행 or 열) 단일 값, 시리즈, 데이터프레임 (통합) 데이터프레임의 원소 applymap (동일한 형태의) 데이터프레임 데이터프

steadiness-193.tistory.com

 

판다스에서는 최대한 for loop 사용을 지양하고

apply를 이용하는 것이 좋다.

 

 

 

 

 

 

예를 들어 23살이면 23을 10으로 나눈 몫인 2가 나오고

 

 

2에 10을 곱하면 20

 

 

즉, 20대라고 정의할 수 있다.

 

 

 

apply를 이용해 함수가 적용된 시리즈를 만들고

 

 

컬럼 추가하기 전에

 

 

astype을 이용해 카테고리화 해준다.

 

 

 

 

https://steadiness-193.tistory.com/94

 

판다스 - 원하는 위치에 컬럼 추가 (insert)

데이터프레임.insert(원하는 컬럼의 위치, 새롭게 들어갈 컬럼의 이름, 조건) - 컬럼의 위치는 0부터 시작 - 조건을 변수에 넣어서도 이용 가능 데이터 불러오기 [목표 : weight 컬럼 옆에 weight 컬럼을

steadiness-193.tistory.com

 

 

 

이제 insert를 이용해 원하는 위치에 컬럼을 추가하자

 

 

 

 

문제 없이 카테고리 자료형으로 잘 추가되었다.

 

 

반응형