반응형
준비물
https://data.seoul.go.kr/dataList/OA-14979/F/1/datasetView.do
생활인구 데이터 내려받기
참고
파이썬 코드
import pandas as pd
df=pd.read_csv("Geopandas/LOCAL_PEOPLE_20230614.csv", encoding = "CP949")
del df['?"기준일ID"']
df = df.replace("*", "0") # *을 0으로 치환
통계치가 전부 숫자가 아닌 object로 되어있음을 확인함
나는 60세 노인 인구를 구하고자 함.
그래서 여자와 남자 모두 60세부터 64세 생활인구수 ~ 70세 이상 생활인구수를 더함.
df_subset= df[ ["시간대구분", "집계구코드","여자60세부터64세생활인구수","여자65세부터69세생활인구수" , "여자70세이상생활인구수",
"남자60세부터64세생활인구수","남자65세부터69세생활인구수" , "남자70세이상생활인구수", ] ] #대괄호 안에 list의 형태로 넣어주어 여러 열을 불러옴
통계치가 들어있는 열에 대해서 object를 float로 바꾸기 위해
나머지 열들은 index 처리해줌
df_subset = df_subset.set_index(['시간대구분', '집계구코드'])
df_subset = df_subset.astype(float)
노인인구라는 새로운 열을 만들어서 6개의 열 값을 합함.
그리고 그 6개의 통계치가 들어있던 열들은 다 삭제함
df_subset['노인인구'] = df_subset['여자60세부터64세생활인구수'] + df_subset['여자65세부터69세생활인구수'] + df_subset['여자70세이상생활인구수'] + df_subset['남자60세부터64세생활인구수'] + df_subset['남자65세부터69세생활인구수'] + df_subset['남자70세이상생활인구수']
del df_subset['여자60세부터64세생활인구수']
del df_subset['여자65세부터69세생활인구수']
del df_subset['여자70세이상생활인구수']
del df_subset['남자60세부터64세생활인구수']
del df_subset['남자65세부터69세생활인구수']
del df_subset['남자70세이상생활인구수']
나는 오전 11시에서 정오 오후 12시까지의 인구분포를 알고 싶으므로
시간대구분의 11을 활용함
그러기위해 index를 다시 되돌려줌
df_subset = df_subset.reset_index(drop=False)
df_subset = df_subset[df_subset['시간대구분'] == 11]
df_subset.to_csv("노인_11시_인구.csv", encoding = "CP949")
이 파일을 GIS 프로그램에서 열어 조인해 주었다.
공간 데이터는 아래를 내려받자.
투영 좌표계는 UTM-K (EPSG:5179)이다.
반응형
'🖥️ IT, 컴퓨터 > 🐍 Python' 카테고리의 다른 글
[Python] SKlearn의 minmax로 정규화하기 (0) | 2023.08.21 |
---|---|
[Python] 공공데이터포털 API를 활용한 건축소유자 정보 확인 (예시코드) (4) | 2023.06.23 |
[Python] folium 지도를 html로 저장하기 (0) | 2023.05.09 |
[Python] Folium 지도를 png로 내보내기 (0) | 2023.04.27 |
[Python] folium :: 폴리움으로 경위도 좌표로 shp 만들어서 동적 지도 만들기 (0) | 2023.04.25 |
댓글