본문 바로가기

데이터 분석 학습

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

반응형

9-3 나이와 월급의 관계 - 몇 살 때 월급을 가장 많이 받을까?

분석 절차

1단계 변수 검토 및 전처리

  • 나이
  • 월급

2단계 변수 간 관계 분석

  • 나이에 따른 월급 평균표 만들기
  • 그래프 만들기

 

나이 변수 검토 및 전처리하기

1. 변수 검토하기

2. 전처리

3. 파생변수 만들기 - 나이

welfare['birth'].dtypes

##출력: dtype('float64')
welfare['birth'].describe()

"""
count    14418.000000
mean      1969.280205
std         24.402250
min       1907.000000
25%       1948.000000
50%       1968.000000
75%       1990.000000
max       2018.000000
Name: birth, dtype: float64
"""
sns.histplot(data = welfare, x ='birth')

welfare['birth'].describe()

"""
count    14418.000000
mean      1969.280205
std         24.402250
min       1907.000000
25%       1948.000000
50%       1968.000000
75%       1990.000000
max       2018.000000
Name: birth, dtype: float64
"""
welfare['birth'].isna().sum() # 결측치 확인

##출력: 0
# 이상치 결측 처리
welfare['birth'] = np.where(welfare['birth'] == 9999, np.nan, welfare['birth'])

# 결측치 확인
welfare['birth'].isna().sum()

##출력: 0
welfare = welfare.assign(age = 2019 - welfare['birth'] + 1)  # 나이 변수 만들기
welfare['age'].describe()                                    # 요약 통계량 구하기

"""
count    14418.000000
mean        50.719795
std         24.402250
min          2.000000
25%         30.000000
50%         52.000000
75%         72.000000
max        113.000000
Name: age, dtype: float64
"""
sns.histplot(data = welfare, x = 'age')  # 히스토그램 만들기

나이와 월급의 관계 분석하기

1. 나이에 따른 월급 평균표 만들기

2. 그래프 만들기

## 나이별 월급 평균표 만들기

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

# 선 그래프 만들기
sns.lineplot(data = age_income, x = 'age', y = 'mean_income')

 

 

 

 

 

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

반응형