새소식

데이터분석/다섯째주

EDA : 서울시 인구 현황(2) 데이터 분석

  • -
728x90

 

  1. 서울시 구별 CCTV 현황 데이터 확보 (Python, Pandas)
  2. 인구 현황 데이터 확보  (Python, Pandas)   ✔
  3. CCTV 데이터와 인구 형황 데이터 합치기  (Python, Pandas)
  4. 데이터 정리하고 정렬하기  (Python, Pandas)
  5. 그래프를 그릴 수 있는 능력 (Matplotlib)
  6. 전체적인 경향을 파악할 수 있는 능력 (Regression using Numpy)
  7. 그 경향에서 벗어난 데이터를 강조하는 능력 (Insight and Visualization)

 

서울시 인구 현황 데이터 분석

 

 

 

< 데이터 확인해보기 >

데이터 불러오기

import pandas as pd
pop_Seoul = pd.read_excel('경로/~/Seoul_Population.xls', header=2, usecols='B, D, G, J, N')
pop_Seoul.head()

-- 출력 --

 

 

컬럼명 변경

pop_Seoul.rename(
	columns={
		pop_Seoul.column[0]:'구별',
		pop_Seoul.column[1]:'인구수',
		pop_Seoul.column[2]:'한국인',
		pop_Seoul.column[3]:'외국인',
		pop_Seoul.column[4]:'고령자'
        },
	inplace=True
)
pop_Seoul.head()

-- 출력 --

 

 

불필요한 데이터 삭제 : 합계 행

pop_Seoul.drop([0], inplace=True)
pop_Seoul.head()

-- 출력 --

 

 

구별 컬럼의 데이터의 값(유일한 값) 확인

print( pop_Seoul['구별'].unique() )
print( len(pop_Seoul['구별'].unique()) )

-- 출력 --

이터 양이 적을때는 괜찮지만, 데이터가 많아지면 unique 조사를 통해 데이터를 눈으로 초반 검증을 하는 것이 좋다.

 

외국인과 고량자 비율을 데이터 만들기

pop_Seoul['외국인비율'] = pop_Seoul['외국인'] / pop_Seoul['인구수'] * 100
pop_Seoul['고령자비율'] = pop_Seoul['고령자'] / pop_Seoul['인구수'] * 100
pop_Seoul.head()

-- 출력 --

컬럼 연산이 편하다는 것이 Python의 장점

 

인구수가 많은 구

pop_Seoul.sotr_values(by='인구수', ascending=False).head()

-- 출력 --

송파구, 강서구, 강남구, 노원구, 관악구 순으로 인구수가 많다.

 

외국인이 많은 구

pop_Seoul.sotr_values(by='외국인', ascending=False).head()

-- 출력 --

영등포구, 구로구, 금천구, 노원구, 관악구 순으로 외국인이 많다.

 

외국인 비율이 높은 구

pop_Seoul.sotr_values(by='외국인비율', ascending=False).head()

-- 출력 --

영등포구, 금천구, 구로구, 중구, 용산구 순으로 외국인 비율이 높다.

 

고령자가 많은 구

pop_Seoul.sotr_values(by='고령자', ascending=False).head()

-- 출력 --

송파구, 강서구, 은평구, 노원구, 관악구 순으로 고령자가 많다. (인구수가 많은 구와 비슷하다.)

 

고령자 비율이 높은 구

pop_Seoul.sotr_values(by='고령자비율', ascending=False).head()

-- 출력 --

강북구, 종로구, 중구, 도봉구, 동대문구 순으로 고령자 비율이 높다.

 

 

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.