이번 주는 부트캠프의 첫 주였다.
국비지원 K 디지털 트레이닝 등 다양한 부트캠프들이 존재하지만 한번도 경험해보지 않던 나에게는 아침 9시부터 6시까지 앉아서 수업을 듣는 데에 익숙해지는데 이번 주를 다 쓴 것 같다.물론 커리큘럼은 그런 나를 기다려주지 않는다.
첫 날 오전에는 서로 얼굴을 익히기 위해 자기소개나, 팀 활동 같은 것도 몇개 했지만 오후부터 바로 빡센 커리큘럼이 시작되었다.
기초부터 전부 가르쳐주기 때문에 굉장히 어마어마한 양이다.
유데미를 선택한 이유
사실 국비 지원 부트캠프를 생각해보지 않은 건 아니다.
한 명당 몇 천만원짜리라는 교육을 국가 지원을 통해 무료로 받을 수 있다는 점이 안 받으면 손해같이 느껴졌다.
그래서 실제 등록도 하려고 내일배움카드도 신청했으나, 여러 가지 후기를 살펴보고 포기했다.
당연히 기관마다 차이점은 존재하겠지만, 후기에서 살펴본 공통적인 내용 중에 걸리는게 있었다.
여러 가지 과정을 한꺼번에 배운다는 것
예를 들어 빅데이터 분석 부트캠프여도, 취업률을 높이기 위해 웹 개발을 배운다던지 하는 사례가 많아보였다
그리고 국가 지원을 받는 프로그램이다 보니 국가 지원을 해주는 키워드들 (ex. 인공지능, 빅데이터 등) 을 끼워넣고 실제로는 다른 것을 가르치는 케이스가 많았다.
부트캠프를 진행하는 동안 최소 6개월에서 8개월 정도를 아무것도 하지 못하고 온전히 쏟아부어야 하는데 (대부분 9-6이기 때문) 내 시간도 소중했고, 그 시간동안 쏟아부었는데 어떠한 아웃풋을 보지 못한다면 너무 후회될 것 같았다.
그래서 확실치 않은 도박을 하기보다는 들어가기 힘들더라도, 기업에서 진행하는 부트캠프를 해서 더 좋은 커리큘럼에 내 시간을 쏟고 싶었다.
What I learned this week
첫 주라서 배운게 얼마 없을 거라고 생각 한다면, 그건 아주 큰 오산이다 ㅋㅋㅋ
나름 학창시절 공부하는 습관을 잘 들였다고 생각했는데, 하루 8시간동안 앉아서 새로운 내용을 머리에 집어넣는건 정말 빡세다.
그러나, 강의의 퀄리티는 나같은 바보도 이해하기 쉽게 흐름이 잡혀있었고 개인적으로는 돈 주고 끊었던 다른 인강보다 훨씬 좋았다.
강의의 양이 많은 만큼 이것들을 다 소화한다면 실력이 느는건 무조건 일 것 같다.
우선 첫 주는 파이썬 기초 + 시각화 내용이었다. 커리큘럼을 전부 적을 수는 없지만 키워드만 적어보자면
파이썬 기초, 자료형, while&for, 알고리즘 연습, 리스트/튜플, 딕셔러니, 람다표현식, map함수, 시리즈,
시각화(기본 그래프, 막대그래프, 히트맵, 히스토그램, 서브플롯, 바이올린플롯, 파이차트, 산점도 등) 내용을 배웠다.
내용을 배우고 난 후에는 서울시 공공 데이터를 가지고 여러 가지 실습을 해보았다.
전체 내용을 가져오기보다는 수업에서 배운 내용을 가지고, 개인적으로 응용해서 실습한 내용을 가져왔다.
데이터 출처는 서울 열린 데이터광장이다.
http://data.seoul.go.kr/dataList/OA-12252/S/1/datasetView.do
열린데이터광장 메인
데이터분류,데이터검색,데이터활용
data.seoul.go.kr
서울시 호선별 출근시간 승차인원 (2023.01) 분석
1. 필요 라이브러리 임포트 및 한글 폰트 지정
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'AppleGothic'
plt.rcParams['axes.unicode_minus'] = False
2. 데이터 불러오기
* 인코딩 옵션 cp949를 사용하면 대부분의 데이터는 불러올 수 있다.
* 그러나, 그래도 에러가 난다면 csv파일을 열어 다른 이름으로 저장하기에서 인코딩을 UTF-8로 바꾸어주어야 한다.
* 엑셀이나 스프레드시트에 인코딩을 바꾸는게 마땅치 않다면, 컴퓨터 메모장을 열어서 바꾼다.
df = pd.read_csv('seoulmetro.csv', encoding ='cp949')
3. 데이터 확인
df.info()
데이터를 확인했는데 변수가 너무 많고 승차, 하차 컬럼이 따로 여러 개가 있으나 우리는 승차 / 하차 따로 분석할 거라 테이블을 분리해준다.
4. 승차/하차 테이블 분리(.iloc사용)
1) 우선 공통적으로 들어가는 컬럼인 사용월 - 지하철역을 분리해준다.
2) 그리고 변수들의 인덱스를 보면, 하나씩 건너뛰고 승차 하차가 번갈아가며 있으므로, 간격을 2로 두고 분리해준다.
3) 공통 테이블 + 승차 테이블 / 공통 테이블 + 하차 테이블을 concat으로 합쳐서, 두 개의 데이터프레임을 만든다.\
#승하차 테이블 분리 : 공통 테이블
t1 = df.iloc[:, :3]
#승차 테이블
t2 = df.iloc[:,3::2]
#하차 테이블
t3 = df.iloc[:,4::2]
df_in = pd.concat([t1,t2], axis = 1)
df_out = pd.concat([t1,t3], axis = 1)
5. 2023년 01월 데이터만 추출하고 컬럼명 변경하기
우리는 2023년 1월 데이터만 볼 것이므로, 그 부분만 추출했다.
또한 모든 컬럼에 승차인원, 하차인원이라는 문자가 들어있는데 테이블을 나누었으니 필요가 없어서 없애주었다.
# 2023. 1월 데이터만
df_in = df_in[df_in['사용월'] == 202301]
df_out = df_out[df_out['사용월'] == 202301]
# 컬럼병 변경
df_in.columns=df_in.columns.str.replace(' 승차인원', '')
df_out.columns=df_out.columns.str.replace(' 하차인원', '')
6. 피봇 테이블 만들기 df.pivot_table(index =' ', columns = ['',''], values = '', aggfunc ='sum')
위와 같은 상태로는 시각화를 할 수 없으니, 피봇 테이블을 만들어준다.
호선별로 출근시간 승차 인원을 구하는 것이기 때문에 인덱스에 호선을 두고, 값은 '08시-09시' 승차 인원, 그리고 승차인원의 합을 구하는 것이므로 sum을 넣어주었다.
#출근시간에 가장 많은 승객이 승차하는 호선은 ?
df_in_pivot = df_in.pivot_table(index = '호선명', values ='08시-09시', aggfunc = 'sum')
df_in_pivot.sort_values('08시-09시', ascending =False )
# 상위 10개만 뽑기
df_in10 = df_in_pivot.nlargest(10, '08시-09시')
7. 시각화
bar 그래프를 만들어주고, 제목도 달아주고 이쁘게 컬러도 지정해주고, 패턴도 바꿔주었다. ㅋㅋㅋㅋ
#시각화
x = df_in10.index
y = df_in10['08시-09시']
plt.bar(x,y,color = 'pink', hatch ='//')
plt.title('서울시 호선별 출근시간 승차인원 (2023.01)')
plt.show()
서울시 지하철역별 출근시간 승차인원 (2023.01) 분석
이 부분이 강의 때 배운내용이다.
기억을 되살리는 의미에서 다시 한번 진행해보았다.
또한 테이블 나누고 전처리 하는 것은 위와 과정이 동일하므로, 피봇 테이블부터 만들면 된다.
1. 피봇 테이블 만들기
# 출근시간에 가장 많은 인원이 승차하는 역은?
df_in_pivot2 = df_in.pivot_table(index ='지하철역', values ='08시-09시', aggfunc = 'sum')
df_in_pivot2.sort_values('08시-09시', ascending =False )
# 상위 10개만 뽑기
df_in2_10 = df_in_pivot2.nlargest(10, '08시-09시')
2. 시각화
#시각화
x = df_in2_10.index
y = df_in2_10['08시-09시']
plt.bar(x,y,color = 'yellow', hatch ='//')
plt.title('서울시 지하철역별 출근시간 승차인원 (2023.01)')
plt.xticks(rotation = 45)
plt.ylabel('승차인원')
plt.show()
-> 출근시간 때 가장 승차가 많은 지하철역은 신림역이다. 신림에 직장인들이 많이 거주하고 있다는 것을 알 수 있다.
앞으로
아직 첫 주지만 느낀 점은 이 부트캠프 과정은 무조건 성실함이 베이스가 되어야 한다.
나처럼 1달 동안 백수생활을 아주 즐겁게 보낸 이에게는 지각하지 않고 교육장에 도착해서,
9-6 여덟 시간동안 교육을 받는다는 것 자체가 힘들다.
뿐만 아니라 나는 실천하지 못하고 있지만 교육 내용이 많기 때문에, 복습을 틈틈이 계속 해야 진가를 발휘할 수 있을 것 같다.
앞으로는 피곤하다고 집 오자마자 뻗지 말고, 30분 정도는 시간을 내서 복습 하는 것을 목표로 하려고 한다.
* 유데미 큐레이션 바로가기 : https://bit.ly/3HRWeVL
* STARTERS 취업 부트캠프 공식 블로그 : https://blog.naver.com/udemy-wjtb
본 후기는 유데미-웅진씽크빅 취업 부트캠프 4기 데이터분석/시각화 학습 일지 리뷰로 작성되었습니다.
'유데미 스타터스' 카테고리의 다른 글
유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 6주차 학습일지 (0) | 2023.03.19 |
---|---|
유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 5주차 학습일지 (0) | 2023.03.12 |
유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 4주차 학습 일지 (1) | 2023.03.05 |
유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 3주차 학습 일지 (0) | 2023.02.26 |
유데미 스타터스 취업 부트캠프 4기 - 데이터분석/시각화(태블로) 2주차 학습 일지 (0) | 2023.02.19 |