최근 DO it! 쉽게 배우는 파이썬 데이터 분석 책을 구매하여 데이터 분석에 대해 공부하고 있다.
코드를 따라치며 데이터 분석에 감을 익히는 것도 좋지만, 비슷한 데이터로 복습해보면 더 좋을 것 같다는 생각이 들었다.
책에서는 2019년 데이터를 기반으로 분석을 했다면 나는 최신 데이터인 2021년 데이터 분석을 해보며 공부한 내용을 복습하고 자 한다.
성별에 따른 월급 차이
https://www.koweps.re.kr:442/main.do
Koweps_hpc16_2021_beta1.sav
16차 머지데이터_변수명_20220404.xlsx
구분 | 코드 | 변수명 |
---|---|---|
성별 | h16_g3 | sex |
일한달의 월 평균 임금 | p1602_8aq1 | imcome |
pip install pyreadstat
import pandas as pd
import numpy as np
import seaborn as sns
origin_data = pd.read_spss('data/Koweps_hpc16_2021_beta1.sav')
data = origin_data.copy()
data
data = data.rename(columns={
'h16_g3' : 'sex',
'p1602_8aq1': 'income',
})
조사 설계서에 따르면 성별 변수 다음과 같다.
변수 | 값 |
---|---|
남 | 1 |
여 | 2 |
모름/무응답 | 9 |
💡 값이 9인 경우에는 결측 처리를 하겠다
data['sex'].isna().sum()
0
💡 이상치가 없는 것으로 보아 성별 데이터는 1과 2로만 이뤄져 있다는 것을 알 수 있다.
현재 성별 항목이 숫자로 되어있다. 남,여를 조금 더 쉽게 구분 하기 위해 다음과 같이 변경하겠다.
변경 전 | 변경 후 |
---|---|
1 | 'male' |
2 | 'female |
data['sex'] = np.where(data['sex'] == 1, 'male', 'female')
data['sex'].value_counts()
sex | |
---|---|
female | 7219 |
male | 5925 |
💡 2021년 조사 결과 여성은 7,219명, 남성은 5,925명이 조사에 참여한 것을 알 수 있다.
조사 설계서에 따르면 월급 변수는 다음과 같다.
변수 | 값 |
---|---|
문항 | 만원 |
모름/무응답 | 999 |
data['income'].describe()
Income | |
---|---|
count | 4313 |
mean | 283.7032 |
std | 206.2185 |
min | 0 |
25% | 153 |
50% | 243 |
75% | 370 |
max | 1752 |
💡 income은 최소 0에서 최대 1752의 값을 가진다. 9999 값이 없는 것으로 보아 이상치는 없는 것을 알 수 있다.
sex_income = data.dropna(subset=['income']) \
.groupby('sex', as_index=False) \
.agg(mean_income=('income', 'mean'))
sex_income
sex | mean_income | |
---|---|---|
0 | female | 201.0394 |
1 | male | 364.4349 |
💡 2021년 조사 결과 여성의 평균 월급은 약 201만 원, 남성의 월급은 약 364만 원이다. 남성이 여서오다 약 163만 원 정도 더 많이 받는 것을 알 수 있다.
sns.barplot(data=sex_income, x='sex', y='mean_income')
💡 그래프로 확인해도 남녀간 월급 차이가 난 다는 것을 알 수 있다.