서울시 공공시설 테니스장
요즘 축구 다음으로 가장 많이 하는 운동이 테니스다. 아직 레슨을 받는 테린이 단계라 실제 테니스 필드에서 플레이한 적은 별로 없지만 종종 친구와 테니스 게임을 하려고 할 때 가장 짜증 나는 과정이 있다. 바로 테니스장을 예약하는 것이다. 특히 최근에는 코로나로 문 닫는 체육시설도 많고 테니스의 경우에도 동호회에서 테니스장 전체를 예약하는 경우가 있어 예약하기 힘들다. 그래서 이번 포스팅에서는 서울 공공데이터 API를 통해서 서울 공공시설 테니스장의 유료/무료 여부, 예약 URL 그리고 지역 위치를 알아보고자 한다.
Python Code
Open Api는 아래 링크에서 확인하면 되고, API 키 신청도 마찬가지이다.
data.seoul.go.kr/dataList/OA-2266/S/1/datasetView.do
아래 코드를 돌리면 서울시에서 운영하고 있는 테니스장 정보를 Json 형태로 출력할 수 있을 것이다. 확인 결과 서울에는 총 54개의 테니스장을 운영하고 있다.
import requests
import pandas as pd
key='~'
url=f'http://openAPI.seoul.go.kr:8088/{key}/json/ListPublicReservationSport/1/54/테니스장'
res=requests.get(url)
rjson=res.json()
total_counts=rjson['ListPublicReservationSport']['list_total_count']
url=f'http://openAPI.seoul.go.kr:8088/{key}/json/ListPublicReservationSport/1/{total_counts}/테니스장'
res=requests.get(url)
rjson=res.json()
위에서 추출한 데이터를 Dataframe화 하도록 하겠다. 내가 판단하기에는 유의마한 데이터로는 가격, 지역, 예약 링크인 것 같아서 이 3개 데이터 칼럼만 가져오도록 하겠다.
pays=[]
areas=[]
reserve_link=[]
for i in rjson['ListPublicReservationSport']['row']:
pays.append(i['PAYATNM'])
areas.append(i['AREANM'])
reserve_link.append(i['SVCURL'])
df=pd.DataFrame([pays,areas,reserve_link]).T
df.columns=['가격','지역','예약링크']
df를 출력하면 아래와 같은 데이터 행이 54개 출력됐음을 확인할 수 있다.
*번외 추가 분석 - 시각화
다음으로 서울시 내 지역별 테니스장 개수를 기준으로 해서 데이터를 시각화해보도록 하겠다. 아래 그래프를 보면 알겠지만 테니스장은 현재 성동구, 동작구, 마포구 순으로 많이 위치하고 있는 상황이다. 다만 데이터가 이상한 게 분명히 데이터 소스 자체는 서울시인데 왜 고양시가 있는지 모르겠다.
area=pd.DataFrame(
df.groupby('지역')['예약링크'].count()
)
area=area.rename(columns={"예약링크": "테니스장 개수"})
area=area.sort_values(by='테니스장 개수',ascending=False)
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = 'Malgun Gothic'
plt.rcParams["font.size"] = 16
plt.figure(figsize=(16,8))
plt.bar(area.index,area['테니스장 개수'])
plt.title("서울 지역별 테니스장 개수")
for x, y in enumerate( list(area['테니스장 개수']) ):
plt.text(x, y, y, fontsize=13, color='#ff0000',
horizontalalignment='center', verticalalignment='bottom')
plt.ylim(0,30,5)
plt.show()
오늘 서울시에서 제공하고 있는 데이터 API를 통해 서울시 내에 있는 테니스장 데이터를 알아봤다. 서울시 공공데이터가 제공하고 있는 데이터가 많은 만큼 다음 시간에도 유익한 데이터로 분석하는 포스팅을 업로드하도록 하겠다. ㅃㅇ
'문송충의 코딩하기 > 파이썬 데이터 분석' 카테고리의 다른 글
[파이썬] - 아마존에서 작성된 삼성 QLED TV 고객 리뷰 분석하기 (1) | 2020.11.07 |
---|---|
[파이썬] - 아마존에서 삼성 QLED TV 고객 리뷰 크롤링해서 가져오기 (4) | 2020.11.03 |
[파이썬] 서울시 공공데이터 API를 활용해 서울시 코로나19 확진자 데이터 분석하기 #1 (0) | 2020.10.27 |
[장고:분노의 추적자] - 파이썬으로 네이버 영화 리뷰 가져오기 (0) | 2020.10.11 |
[장고:분노의 추적자] - 네이버 영화 API 통한 영화 정보 분석 with 파이썬 (0) | 2020.10.10 |
댓글