반응형
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! 파이썬 데이터 분석>의 내용을 토대로 학습하며 정리한 내용입니다.
반응형
'데이터 분석 학습' 카테고리의 다른 글
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (5) (0) | 2023.04.25 |
---|---|
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (4) (0) | 2023.04.24 |
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (2) (0) | 2023.04.22 |
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (0) | 2023.04.21 |
8장 그래프 만들기 (4) (0) | 2023.04.20 |