320x100
이건 아직 익숙해지지 않았고, 전체적으로 서서히 익숙해지는 중이다.
참고자료가 되는
stations의 모태가 되는 csv는 이전 1을 통해서 만들 수 있을것이지만
json 파일을 첨부하긴 어려우니, 그건 본인 스스로 구해보았으면 좋겠고, 그래야 지도상의 시각화가 작동이 될것이다.
# 한글 변환 코드 (중요)
import matplotlib.pyplot as plt
import seaborn as sns
import platform
from matplotlib import font_manager, rc
get_ipython().run_line_magic('matplotlib', 'inline')
# %matplotlib inline
path = 'C:/Windows/Fonts/malgun.ttf'
if platform.system() == 'Darwin':
rc('font', family='Arial Unicode MS')
elif platform.system() == 'Windows':
font_name = font_manager.Fontproperties(fname=path).get_name()
rc('font', family=font_name)
else:
print('Unknown system sorry')
# 휘발유 boxplot(feat.seaborn)
plt.figure(figsize=(12,8))
sns.boxplot(x='is_self', y='gasoline', data=stations, palette='Set1')
plt.grid(True)
# 휘발유 브랜드 별 비교
# boxflot(feat. seaborn)
plt.figure(figsize=(12,8))
sns.boxenplot(x='brand', y='gasoline', hue='is_self', data=stations, palette='Set1')
plt.grid(True)
plt.show();
# 휘발유 구별 비교
# boxplot(feat. seaborn)
plt.figure(figsize=(16,10))
sns.boxplot(x='gu', y='gasoline', data=stations, palette='Set1')
plt.grid(True)
plt.show()
# 셀프, 비셀프 경유 가격비교
plt.figure(figsize=(14,8))
sns.boxplot(x = 'is_self', y= 'diesel', data=stations, palette='Set1')
plt.grid(True)
plt.show
# brand 별 diesel 가격 비교
plt.figure(figsize=(14,8))
sns.boxplot(x = 'brand', y = 'diesel', data=stations, palette='Set2')
plt.grid(True)
plt.show()
plt.figure(figsize=(16,10))
sns.boxplot(x = 'gu', y= 'diesel', data=stations, palette='Set3')
plt.grid(True)
plt.show();
import json
import folium
# 가장 비싼 주유소 10개
# 기존 데이터프레임에서 가지고 있는 컬럼 그대로 가져와서 컬럼값이 꼬여보인다.
# stations[['gu', 'name', 'is_self', 'gasoline']].sort_values(by='gasoline', ascending=False)
# 데이터프레임에서 끌어온 이후에 인덱스넘버를 재설정해주는거라서 깔끔하게 정리된다.
stations[['gu', 'name', 'is_self', 'gasoline']].sort_values(by='gasoline', ascending=True).head(10).reset_index(drop=True)
# 지도 시각화용 데이터프레임
import numpy as np
gu_data = pd.pivot_table(data=stations, index='gu', values='gasoline', aggfunc=np.mean)
gu_data.head()
geo_path = './02. skorea_municipalities_geo_simple.json'
geo_str = json.load(open(geo_path, encoding='utf-8'))
m = folium.Map(location=[37.5502, 126.982], zoom_start=10.5)
m.choropleth(
geo_data = geo_str,
data = gu_data,
columns = [gu_data.index, 'gasoline'],
key_on = 'feature.id',
fill_color = 'PuRd'
)
m
300x250
'개발일지 > selenium, BeautifulSoup, requests' 카테고리의 다른 글
Python 라이브러리를 통해 오피넷 데이터 스크래핑 후 엑셀저장 (0) | 2022.07.21 |
---|---|
BeautifulSoup youtube 채널 데이터 스크래핑, 시각화 기본 루틴 (0) | 2022.07.06 |
selenium 오일 데이터 스크래핑 후 시각화 1 (판다스 데이터프레임까지) (0) | 2022.07.06 |
selenium 루틴 (오일 정보 크롤링) (0) | 2022.07.05 |
selenium, Beautifulsoup 루틴 첫번째 (0) | 2022.07.02 |