본문 바로가기

데이터 분석 학습

9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (6)

반응형

9-6 직업별 월급 차이 - 어떤 직업이 월급을 가장 많이 받을까?

분석 절차

1단계 변수 검토 및 전처리

  • 직업
  • 월급

2단계 변수 간 관계 분석

  • 직업별 월급 평균표 만들기
  • 그래프 만들기

 

직업 변수 검토 및 전처리하기

1. 변수 검토하기

2. 전처리하기

welfare['code_job'].dtypes  # 변수 타입 출력

##출력: dtype('float64')
welfare['code_job'].value_counts()  # 빈도 구하기

"""
611.0    962
941.0    391
521.0    354
312.0    275
873.0    236
        ... 
112.0      2
784.0      2
423.0      1
861.0      1
872.0      1
Name: code_job, Length: 150, dtype: int64
"""
list_job = pd.read_excel('Koweps_Codebook_2019.xlsx', sheet_name = '직종코드')
list_job.head()

list_job.shape  # 행, 열 개수 출력

##출력: (156, 2)
# welfare에 list_job 결합하기
welfare = welfare.merge(list_job, how = 'left', on = 'code_job')

# code_job 결측치 제거하고 code_job, job 출력
welfare.dropna(subset = ['code_job'])[['code_job', 'job']].head()

직업별 월급 차이 분석하기

1. 직업별 월급 평균표 만들기

## 직업별 월급 평균표 만들기

# job, income 결측치 제거
# job별 분리
# income 평균 구하기
job_income = welfare.dropna(subset = ['job', 'income']) \
                    .groupby('job', as_index = False) \
                    .agg(mean_income = ('income', 'mean'))
job_income.head()

2. 그래프 만들기

  • 월급이 많은 직업
  • 월급이 적은 직업
# 상위 10위 추출
top10 = job_income.sort_values('mean_income', ascending = False).head(10)
top10

# 맑은 고딕 폰트 설정
import matplotlib.pyplot as plt
plt.rcParams.update({'font.family' : 'Malgun Gothic'})

# 막대 그래프 만들기
sns.barplot(data = top10, y = 'job', x = 'mean_income')

# 하위 10위 추출
bottom10 = job_income.sort_values('mean_income').head(10)
bottom10

# 막대 그래프 만들기
sns.barplot(data = bottom10, y = 'job', x = 'mean_income') \
   .set(xlim = [0, 800])

 

 

 

 

 

※ 해당 내용은 <Do it! 파이썬 데이터 분석>의 내용을 토대로 학습하며 정리한 내용입니다.

반응형