직업에 따라 월급은 다양할 것이다. 데이터를 통해 어떤 직종이 가장 많은 월급을 받는 지, 가장 많이 받는 직종과 가장 적게 받는 직종 간 평균 월급 차이는 어느 정도인 지 등을 분석하여 알아보자.
직종별 월급 차이
https://www.koweps.re.kr:442/main.do
Koweps_hpc16_2021_beta1.sav
16차 머지데이터_변수명_20220404.xlsx 참고
구분 | 코드 | 변수명 |
---|---|---|
직종 | h16_eco9 | job |
일한달의 월 평균 임금 | p1602_8aq1 | imcome |
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
origin_data = pd.read_spss('data/Koweps_hpc16_2021_beta1.sav')
data = origin_data.copy()
data = data.rename(columns={
'p1602_8aq1': 'income',
'h16_eco9': 'job_code'
})
(2021년 16차 한국복지패널조사) 조사설계서-가구용(beta1).xlsx ➡️ koweps_2021.xlsx로 변경하여 사용
pip install openpyxl
origin_job_list = pd.read_excel('data/koweps_2021.xlsx', sheet_name='직종코드(2019 신분류)')
job_list = origin_job_list.copy()
job_list.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 156 entries, 0 to 155
Data columns (total 5 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 대분류 10 non-null object
1 중분류 52 non-null object
2 소분류 156 non-null int64
3 Unnamed: 3 156 non-null object
4 직종코드는 소분류의 네자리를 넣음 0 non-null float64
dtypes: float64(1), int64(1), object(3)
memory usage: 6.2+ KB
job_list = job_list.rename(columns={'Unnamed: 3' : 'job', '소분류':"job_code"})
job_list.head(5)
job_list = job_list.drop(job_list.columns[[0,1,4]], axis=1)
job_code | job | |
---|---|---|
0 | 111 | 의회 의원∙고위 공무원 및 공공단체 임원 |
1 | 112 | 기업 고위 임원 |
2 | 121 | 행정 및 경영 지원 관리자 |
3 | 122 | 마케팅 및 광고∙홍보 관리자 |
4 | 131 | 연구∙교육 및 법률 관련 관리자 |
data = data.merge(job_list, how='left', on='job_code')
data[['job_code', 'job', 'income']].head(5)
job_code | job | Income | |
---|---|---|---|
0 | NaN | NaN | NaN |
1 | 942.0 | 건물 관리원 및 검표원 | 165.0 |
2 | 762.0 | 전기공 | NaN |
3 | 855.0 | 금속기계 부품 조립원 | 366.0 |
4 | 399.0 | 고객 상담 및 기타 사무원 | 190.0 |
job_income = data.dropna(subset=['job','job_code','income']) \
.groupby('job', as_index=False) \
.agg(mean_income = ('income', 'mean'))
job_income.head(5)
job | mean_income | |
---|---|---|
0 | 가사 및 육아 도우미 | 103.537313 |
1 | 간호사 | 303.400000 |
2 | 감정∙기술영업및중개관련종사자 | 395.636364 |
3 | 건물 관리원 및 검표원 | 188.774194 |
4 | 건설 및 광업 단순 종사자 | 273.552632 |
job_income.describe()
mean_income | |
---|---|
count | 148.000000 |
mean | 348.789352 |
std | 152.525313 |
min | 30.000000 |
25% | 247.250000 |
50% | 334.700000 |
75% | 429.626140 |
max | 922.000000 |
💡 2021년 조사 결과 평균 피조사자들은 평균 348만 원을 받으며 약 247만 원 ~ 430만 원 사이에서 임금을 받고 있는 것으로 보인다. 월급이 가장 높은 직종과 가장 낮은 직종의 월급차이는 약 3배 정도 차이가 나는 것을 알 수 있다.
top5 = job_income.sort_values('mean_income', ascending=False).head(5)
top5
job | mean_income | |
---|---|---|
60 | 법률 전문가 | 922.000 |
99 | 의료 진료 전문가 | 831.875 |
63 | 보험 및 금융 관리자 | 812.000 |
121 | 제관원 및 판금원 | 757.000 |
140 | 항공기∙선박 기관사 및 관제사 | 687.000 |
💡 2021년 조사 결과 직종별 평균 월급은 922만 원으로 법률 전문가가 가장 많았다. 5개 직종 모두 평균 (348만 원)보다 많은 월급을 받고 있는 것을 알 수 있다.
bottom5 = job_income.sort_values('mean_income').head(5)
bottom5
job | mean_income | |
---|---|---|
76 | 세탁 관련 기계 조작원 | 30.000000 |
34 | 기타 서비스 관련 단순 종사자 | 82.245614 |
128 | 청소원 및 환경미화원 | 85.729381 |
33 | 기타 돌봄∙보건 및 개인 생활 서비스 종사자 | 93.971429 |
0 | 가사 및 육아 도우미 | 103.537313 |
💡 2021년 조사 결과 세탁 관련 기계 조작원이 평균 30만원으로 가장 적은 월급을 받고 있다는 것을 알 수 있다. 하위 5개 직종 모두 평균 (348만 원)보다 적게 받고 있으며 1사분위수, 3사분위수에도 속하지 않음을 알 수 있다.