본문 바로가기
📂 프로젝트/◾ 국비지원 1차

[1차 프로젝트] 전국 주유소 현황 분석 (3) (개발자 취업코스, 국비 지원, 데이터 다루기)

by 이 정규 2023. 2. 7.
728x90
반응형

2023.02.07 - [Project] - [1차] 전국 주유소 현황 분석 (2)

 

[1차] 전국 주유소 현황 분석 (2)

2023.02.07 - [Project] - [1차] 전국 주유소 현황 분석 (1) [1차] 전국 주유소 현황 분석 (1) Python 프로그래밍 기초와 데이터 수집 및 시각화 과목을 들은 후 1차 프로젝트를 진행했다. 강사님 임의로 정한

zzgrworkspace.tistory.com

알뜰 주유소는 정부가 추진하는 주유소 사업이었다. 원래 목적은 대형 정유사의 독과점 상황인 석유 제품의 소매 유통 방식을 개선하여 더욱 저렴한 가격에 기름을 공급하겠다는 것이다. 현 시점에서 알뜰 주유소는 실패했다는 평가를 받지만, 2021년까지는 꾸준히 증가하는 추세를 보였다. 결과적으로 알뜰 주유소라는 키워드는 주유소 현황을 분석하는데 유의미한 조건이라는 것을 확인했다. 그래서 공공데이터포털에서 제공하는 전국 주유소 등록현황 데이터를 통해 이를 확인해보고자 하였다.

공공데이터포털의 전국 주유소 등록현황 데이터 상세 설명

df = pd.read_csv('/Users/zzgr/Desktop/zzgrSandaeteuk/PROJECT GAS STATION/데이터/로우 데이터/산업통상자원부 전국 주유소 등록현황 20211231.CSV', encoding='cp949')
# 등록취소에 대한 설명이 없어 확실한 데이터만 사용하기 위해 제거
idx = df[df['구분']=='등록취소'].index
df.drop(index=idx, inplace=True)
df.reset_index(drop=True, inplace=True)

약 6000여 건의 데이터 중 2019년부터 2021년까지의 데이터만 사용하여 신규등록, 휴업, 폐업의 추이를 누적하여 시각화 해보았다.

색을 고정하지 않아서 그래프마다 색이 나타내는 등록 현황이 다르다. 그래프의 휴업, 폐업, 신규등록 순으로 기울기가 가파랐다. 즉, 휴업과 폐업을 신청한 주유소의 수가 급속도로 늘고있다는 의미이다. 왜 주유소 시장이 급속도로 죽어가고 있을까? 국제적인 이슈는 영향이 있되 전체적인 흐름에 지속적인 영향을 주진 않았다. 알뜰 주유소도 국내에서 점유율을 높여갔지만 추세가 위 그래프처럼 기울기가 가파르지 않았다. 결국 찾아낸 답은 전기차의 등장이었다. KEPCO PLUG에서 전기 자동차와 충전기 보급 현황에 대한 데이터를 찾을 수 있었다.

KEPCO PLUG 통계정보

결과적으로 전기차의 등장으로 주유소의 휴업, 폐업 신청 수가 증가했고, 반대로 충전기와 충전소는 신규등록의 수가 증가했다는 결론을 얻을 수 있었다. 당장 전기 자동차가 일반 자동차의 수를 따라잡진 못하겠지만, 친환경이 대두되는 현대 사회에서 주유소의 몰락은 예견된 일이라고 생각했다.

** folium을 이용한 지도상에 주유소 마크하기

latitude = df['lat']
longitude = df['long']

main_location = (37.5722440, 126.9759352)
m = folium.Map(location=main_location, zoom_start=15)

for i in range(len(df)):

    if df['상표'][i] == '현대오일뱅크':
        color = 'blue'
    elif df['상표'][i] == 'SK에너지':
        color = 'red'
    elif df['상표'][i] == 'GS칼텍스':    
        color = 'green'
    elif df['상표'][i] == 'S-OIL':    
        color = 'yellow'
    elif df['상표'][i] == '알뜰(ex)':    
        color = 'gray'
    elif df['상표'][i] == '알뜰주유소':    
        color = 'white'
    else:
        color = 'black'  

    location = (latitude[i],longitude[i])
    # marker_cluster = MarkerCluster().add_to(m)
    folium.Marker(location, popup=df['상호'][i], icon=folium.Icon(color = color)).add_to(m)

# m.save(os.path.join('Datas', 'map.html')) # 저장하기

728x90
반응형

댓글