파이썬으로 데이터 분석하기 (3)

Stella Park·2021년 7월 3일
0

PYTHON

목록 보기
3/14
post-thumbnail

유동인구데이터 분석 및 line그래프/지도로 나타내기

서울특별시 유동인구데이터에서 각 구별 유동인구수 분석하여,
그 중 유동인구수가 가장 높은 구의 날짜별 유동인구수를 추출하여 선 그래프로 그리고,
마지막으로 지도에도 나타내 보기

1. 데이터파일 가져와서 내용 체크

import pandas as pd
population = pd.read_csv('./data/population07.csv')
population.tail(5)

2. 구별 유동인구수 추출 및 그래프로 나타내기

sum_of_population_by_gu = population.groupby('군구')['유동인구수'].sum().sort_values(ascending=True)
sum_of_population_by_gu

import matplotlib.pyplot as plt
plt.rcParams['font.family']="Malgun Gothic"
plt.figure(figsize = (10,5))
plt.bar(sum_of_population_by_gu.index,sum_of_population_by_gu)
plt.xticks(rotation = 45)
plt.title('구에 따른 유동인구수')
plt.show()

3. 강남구의 날짜별 유동인구수 추출

population_gangnam = population[population['군구'] == '강남구'] #강남구만 추출
population_gangnam_daily = population_gangnam.groupby('일자')['유동인구수'].sum()
population_gangnam_daily

4. 선 그래프 그리기

plt.figure(figsize = (10,5))

date = []
for day in population_gangnam_daily.index:
    date.append(str(day)) #string으로 안바꿔주면 날짜가 제대로 안나옴

plt.plot(date,population_gangnam_daily)
plt.title('2020년 7월 서울 강남구 날짜별 유동인구 수')
plt.xlabel('날짜')
plt.ylabel('유동인구 수(천만명)')
plt.xticks(rotation=90)
plt.show()

5. 지도에 표시하기

map = folium.Map(location = [37.5502, 126.982], zoom_start=11, tiles = 'stamentoner')
map

seoul_state_geo = './data/seoul_geo.json'
geo_data = json.load(open(seoul_state_geo, encoding = 'utf-8'))
folium.Choropleth(geo_data=geo_data,
                 data = sum_of_population_by_gu,
                 columns = [sum_of_population_by_gu.index,sum_of_population_by_gu],
                 fill_color = 'PuRd',
                 key_on = 'properties.name').add_to(map)
map

지도 그리는 코드 연습 또 연습!!! #sparta

profile
코딩 0살

0개의 댓글

관련 채용 정보