수도권의 대중교통 데이터는 티머니 홈페이지(https://pay.tmoney.co.kr/index.dev)에서 제공한다. 최근 월간 교통카드 통계자료를 다운받아 실습한다.
1. 유임 승차 비율이 가장 높은 역은 어디일까?
import csv
f = open('subwayfee.csv')
data = csv.reader(f)
next(data)
mx = 0
rate = 0
for row in data :
for i in range(4,8) :
row[i] = int(row[i])
if row[6] != 0 : #무임승차 인원 값이 0이 아닌 경우
rate = row[4] / row[6]
if rate > mx :
mx = rate
print(row, round(rate,2)) #소술점 둘째자리 까지 반올림
일부 역이 무임 승차 인원이 0인 값이 있어 그 값을 제외한 결과만 출력하였다.
그런데 충무로역의 데이터 중 유임하차, 무임하차 값 모두 0이다.
충무로역처럼 환승이 가능한 역의 경우는 별도의 데이터 집계 방식을 적용해야 하지만 적용방법을 모르니 데이터를 어떻게 처리할 지 고민해 봐야 한다.
이번에는 비율을 무임승차 인원가 비교하는 것이 아닌 전체인원 중 유임 승차 인원을 구하는 방법으로 데이터를 처리해본다.
기존 : 유임승차 인원/무임승차 인원 -> 유임승차 인원/전체(유임+무임) 인원
import csv
f = open('subwayfee.csv')
data = csv.reader(f)
next(data)
mx = 0
rate = 0
for row in data :
for i in range(4,8) :
row[i] = int(row[i])
if row[6] !=0 and (row[4] + row[6]) >100000 :
rate = row[4] / (row[4] + row[6])
if rate > mx :
mx = rate
print(row, round(rate,2))
결과를 보면 대학 근처역과 강남역 같이 유동인구가 많은 곳의 비율이 높다
하지만 작성한 코드는 rate값이 가장 큰 곳의 데이터를 출력해 나가는 과정을 보여 주는 코드로 최대 rate값이 발견될 때 마다 해당 값을 갖는 데이터를 출력한 것이다.
따라서 코드 일부를 수정해 보아야한다.
import csv
f = open('subwayfee.csv')
data = csv.reader(f)
next(data)
mx = 0
rate = 0
for row in data :
for i in range(4,8) :
row[i] = int(row[i])
if row[6] !=0 and (row[4] + row[6]) >100000 :
rate = row[4] / (row[4] + row[6])
if rate > 0.94 : #0.94보다 큰 값만 출력
mx = rate
print(row, round(rate,2))
앞선 결과와 다르게 다른 곳들도 나왔다 결과로 나온 역들 중 이름이 낯선 곳들이 있는데 같이 나온 역들 대부분 젊은사람의 많이 모으는 곳이라 낯선 곳들은 아마도 젋은 사람들이 잘 모이는 장소라고 예측할 수 있을것 같다.
그럼 가장 유임승차 비율이 높은 곳을 알아보기 위해 비율 값을 좀 더 키워보자
import csv
f = open('subwayfee.csv')
data = csv.reader(f)
next(data)
mx = 0
rate = 0
for row in data :
for i in range(4,8) :
row[i] = int(row[i])
if row[6] !=0 and (row[4] + row[6]) >100000 :
rate = row[4] / (row[4] + row[6])
if rate > mx :
mx = rate
mx_station = row[3] + ' ' + row[1]
print(mx_station, round(mx * 100,2)) #비율 값에 100을 곱해서 출력
2022년 3월 기준 유임승차 비율이 가장 높은 곳은 '한양대 2호선' 이다.
참고 서적 : 모두의 데이터분석 with파이썬
서울시 CCTV 현황 분석 (0) | 2022.05.31 |
---|---|
운동을 하지 않는 이유 (0) | 2022.04.29 |
대중교통 데이터 시각화 하기 2 (0) | 2022.04.26 |
우리 동네 인구 구조 시각화 하기 (1) | 2022.04.26 |
기온 공공 데이터 활용 데이터 분석하기 (0) | 2022.04.26 |