[Python] 파이썬 데이터 분석 프로젝트 (조건별 월급 차이 분석 1 - 성별에 따른 월급 차이)

Kylie·2022년 10월 18일
0
post-thumbnail

들어가기 전

최근 DO it! 쉽게 배우는 파이썬 데이터 분석 책을 구매하여 데이터 분석에 대해 공부하고 있다.
코드를 따라치며 데이터 분석에 감을 익히는 것도 좋지만, 비슷한 데이터로 복습해보면 더 좋을 것 같다는 생각이 들었다.
책에서는 2019년 데이터를 기반으로 분석을 했다면 나는 최신 데이터인 2021년 데이터 분석을 해보며 공부한 내용을 복습하고 자 한다.


분석할 데이터

성별에 따른 월급 차이


데이터 가져오기

데이터 출처

https://www.koweps.re.kr:442/main.do

분석할 데이터

Koweps_hpc16_2021_beta1.sav

사용할 데이터 선정

16차 머지데이터_변수명_20220404.xlsx

구분코드변수명
성별h16_g3sex
일한달의 월 평균 임금p1602_8aq1imcome

데이터 분석 준비

pip install pyreadstat

1. 필요한 패키지 로드

import pandas as pd
import numpy as np
import seaborn as sns

2. 데이터 로드

origin_data = pd.read_spss('data/Koweps_hpc16_2021_beta1.sav')
data = origin_data.copy()
data

3. 데이터 변수 설정

data = data.rename(columns={
    'h16_g3' : 'sex',
    'p1602_8aq1': 'income',
})

데이터 전처리

1. 성별 데이터 전처리

조사 설계서에 따르면 성별 변수 다음과 같다.

변수
1
2
모름/무응답9

💡 값이 9인 경우에는 결측 처리를 하겠다


이상치 확인

data['sex'].isna().sum()
0

💡 이상치가 없는 것으로 보아 성별 데이터는 1과 2로만 이뤄져 있다는 것을 알 수 있다.


2. 성별 항목 영어로 변경

현재 성별 항목이 숫자로 되어있다. 남,여를 조금 더 쉽게 구분 하기 위해 다음과 같이 변경하겠다.

변경 전변경 후
1'male'
2'female
data['sex'] = np.where(data['sex'] == 1, 'male', 'female')

결과 확인

data['sex'].value_counts()
sex
female7219
male5925

💡 2021년 조사 결과 여성은 7,219명, 남성은 5,925명이 조사에 참여한 것을 알 수 있다.


3. 월급 변수 전처리

조사 설계서에 따르면 월급 변수는 다음과 같다.

변수
문항만원
모름/무응답999

이상치 확인

data['income'].describe()
Income
count4313
mean283.7032
std206.2185
min0
25%153
50%243
75%370
max1752

💡 income은 최소 0에서 최대 1752의 값을 가진다. 9999 값이 없는 것으로 보아 이상치는 없는 것을 알 수 있다.


4. 성별-월급 평균 월급 데이터 만들기

sex_income = data.dropna(subset=['income']) \
  .groupby('sex', as_index=False) \
  .agg(mean_income=('income', 'mean'))
  
sex_income

결과

sexmean_income
0female201.0394
1male364.4349

💡 2021년 조사 결과 여성의 평균 월급은 약 201만 원, 남성의 월급은 약 364만 원이다. 남성이 여서오다 약 163만 원 정도 더 많이 받는 것을 알 수 있다.


5. 그래프로 확인하기

sns.barplot(data=sex_income, x='sex', y='mean_income')

💡 그래프로 확인해도 남녀간 월급 차이가 난 다는 것을 알 수 있다.

profile
올해보단 낫겠지....

0개의 댓글