반응형
9-9 지역별 연령대 비율 - 어느 지역에 노년층이 많을까?
1단계 변수 검토 및 전처리
- 지역
- 연령대
2단계 변수 간 관계 분석
- 지역별 연령대 비율표 만들기
- 그래프 만들기
지역 변수 검토 및 전처리하기
1. 변수 검토하기
2. 전처리하기
welfare['code_region'].dtypes # 변수 타입 출력
##출력: dtype('float64')
welfare['code_region'].value_counts() # 빈도 구하기
"""
2.0 3246
7.0 2466
3.0 2448
1.0 2002
4.0 1728
5.0 1391
6.0 1137
Name: code_region, dtype: int64
"""
# 지역 코드 목록 만들기
list_region = pd.DataFrame({'code_region' : [1, 2, 3, 4, 5, 6, 7],
'region' : ['서울',
'수도권(인천/경기)',
'부산/경남/울산',
'대구/경북',
'대전/충남',
'강원/충북',
'광주/전남/전북/제주도']})
list_region
# 지역명 변수 추가
welfare = welfare.merge(list_region, how = 'left', on = 'code_region')
welfare[['code_region', 'region']].head()
지역별 연령대 비율 분석하기
1. 지역별 연령대 비율 분석하기
2. 그래프 만들기
3. 누적 비율 막대 그래프 만들기
- 피벗하기
- 그래프 만들기
- 막대 정렬하기
# region별 분리
# ageg 추출
# 비율 구하기
region_ageg = welfare.groupby('region', as_index = False) \
['ageg'] \
.value_counts(normalize = True)
region_ageg
# 백분율로 바꾸기
# 반올림
region_ageg = region_ageg.assign(proportion = region_ageg['proportion'] * 100) \
.round(1)
region_ageg
# 막대 그래프 만들기
sns.barplot(data = region_ageg, y = 'region', x = 'proportion', hue = 'ageg')
# 피벗
pivot_df = region_ageg[['region', 'ageg', 'proportion']].pivot(index = 'region',
columns = 'ageg',
values = 'proportion')
pivot_df
# 가로 막대 그래프 만들기
pivot_df.plot.barh(stacked = True)
# 노년층 비율 기준 정렬, 변수 순서 바꾸기
reorder_df = pivot_df.sort_values('old')[['young', 'middle', 'old']]
reorder_df
# 누적 가로 막대 그래프 만들기
reorder_df.plot.barh(stacked = True)
※ 해당 내용은 <Do it! 파이썬 데이터 분석>의 내용을 토대로 학습하며 정리한 내용입니다.
반응형
'데이터 분석 학습' 카테고리의 다른 글
10장 텍스트 마이닝 (2) (1) | 2023.05.01 |
---|---|
10장 텍스트 마이닝 (1) (0) | 2023.04.30 |
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (8) (0) | 2023.04.28 |
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (7) (0) | 2023.04.27 |
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (6) (0) | 2023.04.26 |