TOP
class="layout-aside-left paging-number">
본문 바로가기
데이터분석 만능열쇠 [파이썬]/<파이썬 데이터 분석>

[파이썬] 주유소 가격 비교하기 - 3

by 기록자_Recordian 2024. 4. 29.
728x90
반응형
시작에 앞서
해당 내용은 <파이썬으로 데이터 주무르기> -민형기 저, BJPUBLIC 출판사 의 내용을 토대로 작성되었습니다.
보다 자세한 내용은 해당 교재를 확인하여 주시기 바랍니다.

기존 작업 내용
 

[파이썬] 주유소 가격 비교하기 - 2

시작에 앞서해당 내용은 -민형기 저, BJPUBLIC 출판사 의 내용을 토대로 작성되었습니다.<span style="font-family:..

puppy-foot-it.tistory.com


서울시 구별 주유 가격 확인하기

 
먼저 지도를 그리기 위한 모듈 import

import json
import folium
import googlemaps
import warnings
warnings.simplefilter(action = "ignore", category = FutureWarning)
위 코드는
  1.  파이썬에서 사용되는 여러 라이브러리를 import.
  2. json은 JSON 데이터를 다루기 위한 파이썬 내장 모듈.
  3. folium은 Leaflet.js를 이용하여 지도를 시각화하기 위한 라이브러리.
  4. googlemaps는 Google Maps API를 사용하기 위한 라이브러리.
  5. warnings 모듈은 경고 메시지를 제어하는 모듈이며, 여기서는 FutureWarning을 무시하도록 설정.

 
서울시에서 가장 비싼 주유소 10개 조회하기

station.sort_values(by='가격', ascending=False).head(10)

 

주유소 가격 내림차순 조회

 
서울시에서 가장 저렴한 주유소 10개 조회하기

station.sort_values(by='가격', ascending=True).head(10)

 

서울시 주유소 가격 오름차순


구별 주유소 평균가격 구하기

 
pivot_table을 이용하여 구별 가격 정보로 변경하고 가격은 평균값으로 정리

import numpy as np
gu_data = pd.pivot_table(station, index=['구'], values=['가격'],
                         aggfunc=np.mean)
gu_data.head()

 

구별 주유소 평균가격

서울시 구별 정보에 대해 지도로 표현

import json
geo_path = '../data/02. skorea_municipalities_geo_simple.json'
geo_data = json.load(open(geo_path, encoding='utf-8'))

map = folium.Map(location=[37.5502, 126.982], zoom_start=10.5,
                 tiles='Stamen Toner')
map.choropleth(geo_str = geo_str,
               data = gu_data,
               columns = [gu_data.index, '가격'],
               fill_color='PuRd',
               key_on='feature.id').
map

 
상단의 코드를 입력하였으나, 아래와 같은 오류가 뜬다.

AttributeError: 'Map' object has no attribute 'choropleth'

 
이전 포스팅에도 비슷한 오류가 있었기 때문에 최대한 참고하여 진행해본다

 

[파이썬 데이터 분석] 서울시 범죄 현황 분석 - 2

시작에 앞서 해당 내용은 -민형기 저, BJPUBLIC 출판사 의 내용을 토대로 작성되었습니다. 보다 자세한 내용은 해당 교재를 확인하여 주시기 바랍니다. 지난 번 분석 보기 [파이썬 데이터 분석] 서

puppy-foot-it.tistory.com

import json
geo_path = '../data/02. skorea_municipalities_geo_simple.json'
geo_data = json.load(open(geo_path, encoding='utf-8'))

map = folium.Map(location=[37.5502, 126.982], zoom_start=10.5,
                 tiles='Stamen Toner')
folium.Choropleth(geo_data = geo_str,
               data = gu_data,
               columns = [gu_data.index, '가격'],
               fill_color='PuRd',
               key_on='feature.id').add_to(map)
map


라고 변경된 코드를 입력했는데, 이번엔 하단의 에러가 뜬다. (geo_str 변수 미지정)

NameError: name 'geo_str' is not defined

 
해결방안은 빨간 부분을 바꾸는 것
(아주 간단한 것이었다.. 교재의 내용이 잘못되어 있는데, 아무런 생각없이 베껴쓰기만 하면 안 된다는 가르침을 줌)

import json
geo_path = '../data/02. skorea_municipalities_geo_simple.json'
geo_data = json.load(open(geo_path, encoding='utf-8')) # 변수명이 geo_str 이 아닌 geo_data 로 지정되어 있음

map = folium.Map(location=[37.5502, 126.982], zoom_start=10.5,
                 tiles='Stamen Toner')
folium.Choropleth(geo_data = geo_data,
               data = gu_data,
               columns = [gu_data.index, '가격'],
               fill_color='PuRd',
               key_on='feature.id').add_to(map)
map

 

Choropleth 지도

 


다음 시간에는 서울시 주유 가격 상하위 10개 주유소 지도에 표기하는 법 진행
다음글

[파이썬] 주유소 가격 비교하기 - 4

 

728x90
반응형