Project_Log

[ 빅데이터의 이해 ] 공공 데이터를 이용하여 지하철 이용객 데이터 분석 - 2

Jerry_JH 2022. 2. 2. 16:25
728x90

이전 포스팅에서 이어지는 내용이므로 꼭 보고 오는 것을 추천

 

https://jerrys-ai-lab.tistory.com/37

 

[ 빅데이터의 이해 ] 공공 데이터를 이용하여 지하철 이용객 데이터 분석 - 1

2021년 1학기에 진행한 프로젝트인데, 그동안 다사다난하여 이제야 프로젝트 로그를 적는다. 이 프로젝트는 학교 기말과제로 제출하였고, 제목에도 있듯이 '빅데이터의 이해'라는 과목이었다. 해

jerrys-ai-lab.tistory.com

 

저번 포스팅에서는 project 목적, 배경 및 필요성, 데이터 수집, 전처리까지 했다.

이번 포스팅은 승하차 인원이 어디에 제일 많이 모이는지, 시각화를 통해서 분석을 한다.

 


[ 데이터 분석 ]

사람들이 많이 모이는 시간, 역 찾기

승·하차로 데이터를 나눠서 분석을 하였고, 2020년 8월부터 2021년 5월까지의 승객수를 합쳐서 언제 어디에 가장 승객들이 많은지 찾아보았다.

 

1. 승차

# 데이터 load
station_people = pd.read_csv('서울시 지하철 호선별 역별 시간대별 승하차 인원 정보_202008까지.csv')

# 승차 관련 컬럼만 필터링
in_subway= station_people.columns.tolist()[:3]
for a in station_people.columns.tolist():
    if a.find('승차')!= -1 :
        in_subway.append(a)

in_subway_df = station_people[in_subway]

in_subway_df.head()

승차관련 컬럼들만 가지고 왔다.

 

우선 호선별로 승차가 제일 많은지 groupby를 먼저 해보았다. 

# 2020.08 ~ 2021.05까지 합하여 승차가 제일 많은 곳
# 호선별
station_group=in_subway_df.groupby(['호선명','지하철역']).sum()
station_group=station_group.drop(['사용월'],axis=1)

열마다 승차인원이 많은 곳은 색깔이 진하다.

1호선을 예시로 보면 이러하다.

04시~05시 승차인원에서는 청량리에서 승차하는 인원이 제일 많다.

05시~06시 승차인원에서는 동대문에서 승차하는 인원이 제일 많다.

 

-  1호선

1호선을 먼저 보면 유통인구가 많은 대체로 서울역에서 승차하는 인원이 많고

출근시간에는 청량리에서 타는 사람들이 많고, 퇴근시간부터는 종각에서 승차하는 사람들이 많아지는 것을 볼 수 있다.

(1호선은 굉장히 많은데 왜 이것밖에 안 나왔는지는 의문)

 

- 2호선

출근시간에는 신림이 제일 많고, 12시부터는 강남에서 승차하는 인원이 많다.

 

- 3호선

출근시간부터 12시까지 연신내에서 타는 사람이 많고, 11시부터 고속터미널에서 승차하는 인원이 많다.

 

- 4호선

4호선 같은 경우 1~3호선보다 어느 정도 분산되어있다. 

출근시간에는 쌍문, 수유가 대체로 많고, 14시부터 혜화에서 승차하는 인원이 증가한다.

 

- 5호선

출근시간에는 까치산, 화곡에서 타는 사람이 많고, 14시부터는 광화문에서 승차하는 사람이 많다.

 

- 6호선

출근시간에는 응암역이 제일 많고, 14시부터 21시까지는 공덕, 20시부터는 합정이 제일 많다. 

 

- 7호선

출근시간에는 광명사거리역이 많고, 13시부터 가산디지털단지역이 많다. 

 

- 8호선

출근시간에는 암사역이 많고, 14시부터 20시까지 문정역이 많고, 20시 이후는 잠실역에서 승차하는 인원이 많다.

 

- 9호선

출근시간에는 가양역,노량진역이 많고, 11시부터는 대체로 신논현역에서 승차하는 사람이 많았다.


호선이 1~9호선 말고도 중앙선, 경강선, 분당선 등 많지만, 

이렇게 보는 것은 눈도 아프고 효율적이지 않기 때문에 folium 라이브러리를 이용하여 지도에 히트맵을 그려서 살펴보았다.

# 서울시 중심부의 위도, 경도 입니다.
center = [37.541, 126.986]

m = folium.Map(location=center, zoom_start=10)

HeatMap(data_list).add_to(m)

m.save('2020_08 이후 승차인원 포화상태.html')

m

2020_08 이후 승차인원 포화상태.html
0.02MB
전체를 보면 이러하다
한강을 중심으로 본 모습

색이 빨간색일수록 승차인원이 많다는 의미이다.

[TOP 5]

1. 강남역

2. 잠실역

3. 고속터미널역

4. 서울역 

5. 신림역

 

승차를 가장 많이 한 곳 ( 2020년 8월부터 2021년 5월까지의 총합 )

강남역 18시~19시 승차인원이 약 300만 명으로 제일 많았다. (꼭 피하길 바란다)


2. 하차

하차도 승차랑 똑같은 방법으로 살펴보자.

# 하차 관련 컬럼만 필터링
out_subway= station_people.columns.tolist()[:3]
for a in station_people.columns.tolist():
    if a.find('하차')!= -1 :
        out_subway.append(a)

out_subway_df = station_people[out_subway]

out_subway_df.head()

하차도 승차와 마찬가지로 groupby를 하여 하차가 제일 많은 곳을 찾아보았다.

승차처럼 이렇게 표를 뽑아서 보는 것은 비효율적이라고 생각하여 바로 시각화로 넘어가면 이러하다.

 

# 서울시 중심부의 위도, 경도 입니다.
center = [37.541, 126.986]

m = folium.Map(location=center, zoom_start=10)

HeatMap(data_list).add_to(m)

m.save('2020_08 이후 하차인원 포화상태.html')

m

2020_08 이후 하차인원 포화상태.html
0.02MB
전체를 보면 이러하다.
한강 중심으로 본 하차 인원 히트맵

승차랑 비슷한 히트맵을 보여준다. 하차인원도 TOP5를 뽑아보았다.

[TOP5]

1. 강남역

2. 잠실역

3. 고속터미널역

4. 서울역

5. 홍대입구역

신림역 대신 홍대입구 역이 들어간 것이 특이점이었다.

 

하차를 가장 많이 한 곳 ( 2020년 8월부터 2021년 5월까지의 총합 )

가산디지털단지역에서 08~09시 하차인원이 약 350만 명으로 제일 많았다.

(많은 직장들이 모여있기 때문에 이러한 수치 값이 나온 것 같다.)

참고로 이 값은 히트맵으로 본 시각화랑은 다르다.

(히트맵에서 강남역이 제일 많다고 생각하여 당연히 강남이라고 생각하면 안 된다.)

히트맵은 분포를 중심으로 보았기 때문에, 강남역 같은 경우 05시부터 23시까지 꾸준하게 많지만, 

가산 디지털단지는 출근시간에만 하차하는 인원이 많고, 퇴근시간으로 갈수록 승차하는 인원이 증가한다.

 

 


이번 포스팅을 통해서 승하차 인원이 많은 역이 어디인지, 언제 제일 많은지 알아보았다.

 

사회적 거리두기로 인하여 저녁 10시에 대부분의 가게가 문을 닫아야 된다. 

그래서 저녁 10시부터 승차인원이 급증하는데, 저녁 10시 이후에는 어디가 제일 승하차가 많은지 알아보고,

제일 최근 데이터인 2021년 5월과 2020년 8월부터 2021년 4월까지의 평균값을 비교하여 최근 승객들의 동향을 살펴본다. ( 프로젝트 진행했을 당시가 21년 5월이라서 21년 5월 데이터가 제일 최근 값이다.)

 

다음 포스팅으로!

 

 

728x90