안녕하세요? mangoseed3434입니다.
이번에도 저번 포스팅에 이어 한국보건사회연구원에서 2020년에 발간한 복지패널 데이터를 이용한 데이터 분석을 했습니다.
오늘도 'Do it! 쉽게 배우는 파이썬 데이터 분석'에 수록된 가이드를 따라하면서 포스팅을 작성합니다.

1. 직업별 월급 차이
이번에는 직업에 따른 월급 차이를 분석해봤습니다.
우선, '직업' 변수의 특징을 파악했습니다.

df.dtype와 df.value_counts( )를 통해 '직업' 변수의 직업들이 수치화된 점을 파악할 수 있었습니다.

그래서 수치화된 직업들을 이용해 파생변수를 만들고자 직업코드가 정리된 엑셀파일을 로딩합니다.
엑셀파일은 pd.read_excel( )함수를 이용합니다.
특히, sheet_name = '로딩할 시트'를 통해 1개의 엑셀 파일 내 특정 시트만 로딩할 수 있었습니다.

그리고 일전에 학습한 pd.merge( ) 함수를 이용해 이해하기 쉽게 각 직업 코드에 맞는 직업 열을 추가했습니다.
열(변수)를 병합하는 방법
방법 1 : df = pd.merge(데이터프레임1, 데이터프레임2, how = 'left', on = '변수')
left의 데이터프레임1에 데이터프레임2를 병합하되, '변수'를 기준으로 병합
방법 2 : df = df.merge(데이터프레임2, how = 'left', on = '변수')
데이터프레임2를 left의 df에 병합하되, '변수'를 기준으로 병합
여기까지 '직업' 변수에 대한 전처리가 끝났습니다.
'월급' 변수는 이전에 전처리한 자료를 사용했습니다.

이후, df.dropna( )함수를 이용해 subset으로 할당한 변수의 결측치를 제거하고 요약표를 만들었습니다.

그리고 각 직업의 평균 월급에 대한 요약표를 작성했어요.


그리고 df.sort_values( ) 함수를 이용해 월급 평균 상위 10개 직종과 하위 10개 직종에 대한 요약표를 작성했습니다.


이렇게 '직종 코드' 변수를 이용해 '직업' 변수를 병합해서 추가적인 데이터 분석이 가능했습니다.
2. 성별에 따른 직업 빈도
앞서 전처리한 '성별' 변수와 '직업 '변수를 이용해, 성별에 따른 직업의 빈도를 분석했습니다.


특히, df.query( '변수 == "문자변수"')를 이용해 성별을 구분하는 과정을 거쳤습니다.


남성과 여성 모두 빈도가 가장 많은 직업이 '작물 재배 종사자'임을 알 수 있었습니다.
3. 지역별 연령대 비율
'연령' 변수를 이용해 만든 '연령대' 파생변수를 이용해 지역별 연령대 비율도 분석할 수 있었습니다.
'지역' 변수에 대한 전처리를 했습니다.

'지역' 변수의 데이터가 수치화 되어있다는 특징을 알 수 있었습니다.

수치화된 데이터를 읽기 쉽게 변경해야 했습니다.
pd.DataFrame( ) 함수를 이용해 각 수치-지역에 대한 데이터프레임을 만들었습니다.

그리고 df.merge( ) 함수를 이용해 '지역' 변수를 합쳤습니다.
이번에는 pd.merge( ) 방식이 아닌 df.merge( ) 방식을 이용했습니다.

비율에 대한 요약표는 df.value_counts( ) 함수를 사용했습니다.
특히, df.value_counts( )의 ( 괄호 ) 안에 normalize = Ture를 적용해서 비율을 구할 수 있었습니다.

그리고 df.assign( ) 함수를 이용해 '비율'에 대한 파생변수를 만들되, df.round( ) 함수를 이용해 반올림을 했습니다.
df.round(숫자)의 구조로 반올림하는 소수점 자리를 지정할 수 있었습니다.

그리고 지역별 연령대 요약표를 피벗(pivot)했습니다.
피벗(pivot)은 행과 열을 회전해 표의 구성을 바꾸는 작업입니다.
피벗(pivot)을 하는 이유...
검색해보니, 행과 열을 회전하는 과정에서 새로운 데이터의 흐름이나 패턴을 발견할 수 있다고 합니다.

피벗에 관해서는 아직 이해도가 낮기 떄문에, 차차 연습하면서 이해도를 높히겠습니다.
아무튼!
피벗한 데이터프레임을 시각화했습니다.

저는 피벗했는데도 데이터의 새로운 흐름이나 패턴이 안 보이네요;;;

하지만, 피벗한 데이터와 df.plot.barh( ) 함수를 이용해 시각화를 했습니다.
특히, df.plot.barh( )에 stacked = True를 적용해 누적 막대 그래프를 그릴 수 있었습니다.
이렇게 파이썬을 이용한 데이터 분석 첫 프로젝트를 끝냈습니다.
데이터 분석 과정을 정리해보면 아래와 같습니다.
1단계 : 데이터 분석 준비하기
1. 필요한 패키지, 모듈 설치하기 및 로딩하기
2. Raw Data 불러오기
3. Raw Data 복사본 만들기
4. Raw Data 특징 파악하기
5. Raw Data내 변수 이름 수정하기
2단계 : 데이터 분석에 필요한 변수들 전처리하기
3단계 : 변수에 대한 요약표 작성하기
4단계 : 요약표를 이용해 시각화하기
다음에는 인터랙티브 그래프에 대해 공부한 내용을 포스팅하겠습니다.
'Python 데이터 분석 입문' 카테고리의 다른 글
| (Python 데이터 분석 입문 11편) t 검정, p-value, 상관분석, Heat Map 그래프 (0) | 2025.12.31 |
|---|---|
| (Python 데이터 분석 입문 10편) 인터렉티브 그래프 그리기 (1) | 2025.12.27 |
| (Python 데이터 분석 입문 08편) 데이터 분석 프로젝트: 한국인의 삶을 파악하기(上) (0) | 2025.12.25 |
| (Python 데이터 분석 입문 07편) 그래프 그리기: Scatter Plot, Bar Chart, Line Chart, Box Plot (0) | 2025.12.22 |
| (데이터 분석 공부 1편) Box Plot 읽기 (0) | 2025.12.22 |