파이썬으로 데이터 주무르기 스터디&응용

1-2. 대구광역시 구별 인구 수와 교육 시설 살펴보기(2)(다른 데이터를 통한 응용 및 실습)

꿀복피그 2024. 1. 4. 12:19

안녕하세요 여러분!

오늘은 지난 시간에 이어,

학업 성취도에 영향을 미치는 몇가지 다른 요인들을 더 추가하고

자료를 더욱 정교하고 깔끔하게 만드는 작업을 진행해 볼 예정입니다!

 

이번 시간에는 짧게 끝날 것 같으니, 

집중해서 잘 따라와주세요!

 

먼저, 지난 시간까지 합쳐놓은 표입니다!

대구광역시 구별 학교수, 학원수, 학령인구수를 합친 표

 

위 표를 보면 사실 '시도', '항목', '총계' 칼럼은 필요한 정보만을 읽는 데에 방해를 합니다. 

이 부분도 오늘 마저 수정해볼 예정이에요.

 

일단 먼저!

오늘 추가할 몇가지 데이터는 구별 소득분포와 교육비 지출 현황이에요.

학업성취도에 영향을 미치는 요인 중에 소득분포와 사교육비가 영향을 주는지의 상관성도 함께 살펴보고 싶었기 때문이죠.

그럼 시작해봅시다!

 

1. 데이터 받아오기

(*두 데이터 모두 하나의 엑셀 파일의 서로 다른 시트에 저장되어 있으니, 참고해주세요.)

 

2. 데이터 가져오기 

 

<구별 교육비 지출 현황 가져오기>

  1. read_excel() 을 통해 edu.Daegu 라는 변수명으로 교육비용 데이터를 가져온다.
  2. 불필요한 열은 del 을 사용해 지워준다.
  3. rename()을 통해 칼럼명을 알아보기 쉽도록 바꿔준다.
  4. 불필요한 행은 drop()을 사용해 지워준다.
  5. 필요한 행까지만 head()를 통해 불러오고, 이를 copy()를 사용해 새롭게 저장한다.

* 코드: 

edu_Daegu = pd.read_excel(r"C:\Users\hbsss\OneDrive\문서\DataScience\data\대구광역시 교육비 지출 현황.xlsx",header=3,engine = None)
del edu_Daegu['Unnamed: 2']
del edu_Daegu['Unnamed: 3']

edu_Daegu.rename(columns={edu_Daegu.columns[1]: '행정구역',
                         edu_Daegu.columns[3]: '공교육비',
                         edu_Daegu.columns[4]: '사교육비',
                         edu_Daegu.columns[5]: '총교육비'}, inplace = True)
edu_Daegu.drop([0],inplace=True)

edu_Daegu=edu_Daegu.head(9).copy()
edu_Daegu

 

* 결과:

대구광역시 구별 교육비 지출 내역

 

<구별 소득분포 데이터 가져오기>

  1. read_excel()을 통해 데이터를 가져오고 변수명 income_Daegu 로 데이터를 저장한다.
  2. 칼럼명을 알맞게 바꾸어준다.
  3. 필요한 행까지만 나타내고 새롭게 저장하고 del을 이용해 불필요한 열을 제거해준다.

* 코드:

income_Daegu=pd.read_excel(r"C:\Users\hbsss\OneDrive\문서\DataScience\data\대구광역시 월평균 가구소득.xlsx",header=4, usecols = 'B,D,E,F,G,H,I,J,K,L,M',engine=None)


income_Daegu.rename(columns = {income_Daegu.columns[0] : '행정구역',
                              income_Daegu.columns[1]: '50만원 미만',
                              income_Daegu.columns[2]: '50~100만원 미만',
                              income_Daegu.columns[3]: '100~200만원 미만',
                              income_Daegu.columns[4]: '200~300만원 미만',
                              income_Daegu.columns[5]: '300~400만원 미만',
                              income_Daegu.columns[6]: '400~500만원 미만',
                               income_Daegu.columns[7]: '500 ~ 600만원 미만',
                              income_Daegu.columns[8]: '600 ~ 700만원 미만',
                              income_Daegu.columns[9]: '700 ~ 800만원 미만',
                              income_Daegu.columns[10]: '800만원 이상'
                            }, inplace = True)

income_Daegu = income_Daegu.head(9).copy()


del income_Daegu['200~300만원 미만']
del income_Daegu['300~400만원 미만']
del income_Daegu['400~500만원 미만']
del income_Daegu['500 ~ 600만원 미만']


income_Daegu

 

* 결과:

대구광역시 구별 소득분포

 

<기존 데이터와 병합 및 다듬기>

-> merge()를 통해 공통된 키 '행정구역'으로 합쳐주기

  • data_result = pd.merge(data_result, edu_Daegu, on='행정구역')
  • data_result=pd.merge(data_result,income_Daegu,on='행정구역')

->불필요한 칼럼 제거하기

  • del data_result['5-9세']
    del data_result['10-14세']
    del data_result['15-19세']
    del data_result['항목']
    del data_result['총계']
    del data_result['학제']
  • 결과:
  •  

 

자, 드디어 데이터들을 한 표에 합치고 다듬는 작업까지 마쳤습니다! 어떤가요?

물론 데이터들이 더욱 방대해져 지난 시간보다 복잡해 보일 수 있지만

실제로는 불필요한 정보도 제거하고 더욱 정보를 확인하기 쉽게 만든 것 입니다!

 

 

다음 시간에는 깔끔하게 정리한 표를 기반으로 그래프 등을 이용하여 시각화하는 방법에 대해 함께 알아볼 겁니다.

그럼 다음 시간에 봐요! 꿀