1. 기업맞춤형 빅데이터 분석가 양성과정 소개
2. Notion 일과 삶 & 빅데이터 분석가 양성과정 대시보드
https://lifemoment.notion.site/497bff9488aa4dec9171d08224a7a978?pvs=4
3. Mini-Project: 학생 관리 시스템
4. Naver 블로그 포스팅
https://blog.naver.com/PostView.naver?blogId=moment_by_moment&logNo=223331721507&redirect=Dlog
https://blog.naver.com/PostView.naver?blogId=moment_by_moment&logNo=223332864459&redirect=Dlog
5. 필기노트
다음 주 부터는 MySQL 진행, 데이터분석을 할 것인지 웹을 할 것인지 결정함.
UNIT 11 대중교통 데이터 시각화하기
네째마당 - 대중교통 데이터 프로젝트
- 유임승차 비율이 가장 높은 역은 어디인가?
- 데이터를 읽어 온다.
- 필요시 데이터를 정제(데이터 전처리)를 한다.
- 모든 역의 데이터를 바탕으로 각 역의 유임승 인원의 비율을 구한다.
- 이 비율이 가장 높은 역의 이름과 비율을 출력한다.
- 적절한 시각화 방법으로 보고서에 들어갈 그래프를 그린다.
6개 역을 제외하고, 돈 안내고 탄 사람이 존재한다.
단계 6: ‘유임승차’, ‘유임하차’, ‘무임승차’, ‘무임하차’ 열 데이터를 정수로 변경
- 예외 처리: try~except구문 외에도 if문
작업순서
- 데이터를 읽어 온다.
- 필요시 데이터 정제(데이터 전처리)를 한다.
- 모든 역의 데이터를 바탕으로 각 역의 유임승차인원의 비율을 구한다.
- 유임승차인원의 비율이 가장 높은 역의 이름과 비율을 출력한다.
유임 승차 인원의 비율 = 유임 승차 인원 / 전체(무임 + 유임) 승차 인원
→ 유임 승차 인원의 비율이 94% 이상인 역에 대해 ‘유임승차’, ‘유임하차’, ‘무임승차’, ‘무임하차’ 비율을 파이차트로 표현
import matplotlib.pyplot as plt
import koreanize_matplotlib
def plot_pie_chart(name, line, data):
label = ['유임승차', '유임하차', '무임승차' ,'무임하차']
plt.figure(dpi=200)
plt.title(name+' '+line)
plt.pie(data, labels=label, autopct='%1.f%%')
plt.axis('equal')
plt.savefig(name+' '+line + '.png')
plt.show()
# ['사용월', '호선명', '역ID', '지하철역', '유임승차', '유임하차', '무임승차', '무임하차']
for row in data:
if row[6] != 0:
rate = row[4]/(row[4] + row[6])
if rate >= 0.94:
plot_pie_chart(row[3], row[1], row[4:])
지하철 시간대별 데이터 시각화하기
- 지하철 시간대별 데이터를 바탕으로
출근 시간대 사람들이 가장 많이 타고 내리는 역은 어디일까?
지하철 시간대별로 가장 많은 사람이 승하차하는 역은 어디일까요?
- 지하철 시간대별 이용 현황 데이터 정제하기
‘2023년 12월 교통카드 통계자료.xls’ 파일을 다시 오픈
‘지하철 시간대별 이용현황’ sheet를 선택
다른 이름(subwaytime.csv)으로 저장
마지막 열, ‘작업일시’ 열을 삭제
→ 3행 ~ 끝까지, E열 ~ AZ열까지 선택 후 셀 타입을 ‘일반’으로 변경 (숫자 표현에 쉼표를 제거하기 위해) 후 저장
- 위 subwaytime.csv 파일을 코랩 환경에서 사용할 수 있도록 준비
지하철 시간대별 이용 현황 데이터 정제하기
- 데이터 읽어 오기 그리고 헤더 제거하기
# 파일에서 데이터 읽어 오기
f = open('./drive/MyDrive/data_files/subwaytime.csv')
data = csv.reader(f)
# header 분리
header = next(data)
# data를 리스트 형 데이터로 변경
data = list(data)
f.close()
- subwaytime.csv 파일을 보면 헤더가 두 줄인 것을 확인할 수 있음
data = data[1:]
아침 07:00:00~08:59:59 시간대에 역 별로 지하철 탑승 객의 수를 bar 차트로 그리기.
# 교재 187p 내용
npeople_get_on =[]
for row in data:
npeople_get_on.append(sum(row[10:13:2]))
npeople_get_on.sort()
plt.bar(range(len(npeople_get_on)), npeople_get_on)
plt.grid()
plt.show()
# ['사용월', '호선명', '역ID', '지하철역', '유임승차', '유임하차', '무임승차', '무임하차']
names =[]
npeople =[]
for row in data:
total = sum(row[11:16:2])
if total >= 400000:
names.append(row[3]+row[1])
npeople.append(total)
for name, n in zip(names, npeople):
print(name+':', n)
plt.figure(figsize=[24, 4])
plt.bar(names, npeople)
plt.xticks(range(len(names)), names, rotation=45)
plt.grid()
plt.show()
=>
서울역1호선: 483689
종각1호선: 491830
을지로입구2호선: 595862
성수2호선: 448350
잠실(송파구청)2호선: 441184
삼성(무역센터)2호선: 658911
선릉2호선: 576660
역삼2호선: 721797
강남2호선: 702035
구로디지털단지2호선: 409566
양재(서초구청)3호선: 426364
여의도5호선: 416634
광화문(세종문화회관)5호선: 450415
가산디지털단지7호선: 686146
데이터 분석을 할 때는, pandas를 사용한다.
UNIT 11 대중교통 데이터 시각화하기
네째마당 - 대중교통 데이터 프로젝트
- 유임승차 비율이 가장 높은 역은 어디인가?
- 데이터를 읽어 온다.
- 필요시 데이터를 정제(데이터 전처리)를 한다.
- 모든 역의 데이터를 바탕으로 각 역의 유임승 인원의 비율을 구한다.
- 이 비율이 가장 높은 역의 이름과 비율을 출력한다.
- 적절한 시각화 방법으로 보고서에 들어갈 그래프를 그린다.
6개 역을 제외하고, 돈 안내고 탄 사람이 존재한다.
단계 6: ‘유임승차’, ‘유임하차’, ‘무임승차’, ‘무임하차’ 열 데이터를 정수로 변경
- 예외 처리: try~except구문 외에도 if문
작업순서
- 데이터를 읽어 온다.
- 필요시 데이터 정제(데이터 전처리)를 한다.
- 모든 역의 데이터를 바탕으로 각 역의 유임승차인원의 비율을 구한다.
- 유임승차인원의 비율이 가장 높은 역의 이름과 비율을 출력한다.
유임 승차 인원의 비율 = 유임 승차 인원 / 전체(무임 + 유임) 승차 인원
→ 유임 승차 인원의 비율이 94% 이상인 역에 대해 ‘유임승차’, ‘유임하차’, ‘무임승차’, ‘무임하차’ 비율을 파이차트로 표현
import matplotlib.pyplot as plt
import koreanize_matplotlib
def plot_pie_chart(name, line, data):
label = ['유임승차', '유임하차', '무임승차' ,'무임하차']
plt.figure(dpi=200)
plt.title(name+' '+line)
plt.pie(data, labels=label, autopct='%1.f%%')
plt.axis('equal')
plt.savefig(name+' '+line + '.png')
plt.show()
# ['사용월', '호선명', '역ID', '지하철역', '유임승차', '유임하차', '무임승차', '무임하차']
for row in data:
if row[6] != 0:
rate = row[4]/(row[4] + row[6])
if rate >= 0.94:
plot_pie_chart(row[3], row[1], row[4:])
지하철 시간대별 데이터 시각화하기
- 지하철 시간대별 데이터를 바탕으로
출근 시간대 사람들이 가장 많이 타고 내리는 역은 어디일까?
지하철 시간대별로 가장 많은 사람이 승하차하는 역은 어디일까요?
- 지하철 시간대별 이용 현황 데이터 정제하기
‘2023년 12월 교통카드 통계자료.xls’ 파일을 다시 오픈
‘지하철 시간대별 이용현황’ sheet를 선택
다른 이름(subwaytime.csv)으로 저장
마지막 열, ‘작업일시’ 열을 삭제
→ 3행 ~ 끝까지, E열 ~ AZ열까지 선택 후 셀 타입을 ‘일반’으로 변경 (숫자 표현에 쉼표를 제거하기 위해) 후 저장
- 위 subwaytime.csv 파일을 코랩 환경에서 사용할 수 있도록 준비
지하철 시간대별 이용 현황 데이터 정제하기
- 데이터 읽어 오기 그리고 헤더 제거하기
# 파일에서 데이터 읽어 오기
f = open('./drive/MyDrive/data_files/subwaytime.csv')
data = csv.reader(f)
# header 분리
header = next(data)
# data를 리스트 형 데이터로 변경
data = list(data)
f.close()
- subwaytime.csv 파일을 보면 헤더가 두 줄인 것을 확인할 수 있음
data = data[1:]
아침 07:00:00~08:59:59 시간대에 역 별로 지하철 탑승 객의 수를 bar 차트로 그리기.
# 교재 187p 내용
npeople_get_on =[]
for row in data:
npeople_get_on.append(sum(row[10:13:2]))
npeople_get_on.sort()
plt.bar(range(len(npeople_get_on)), npeople_get_on)
plt.grid()
plt.show()
# ['사용월', '호선명', '역ID', '지하철역', '유임승차', '유임하차', '무임승차', '무임하차']
names =[]
npeople =[]
for row in data:
total = sum(row[11:16:2])
if total >= 400000:
names.append(row[3]+row[1])
npeople.append(total)
for name, n in zip(names, npeople):
print(name+':', n)
plt.figure(figsize=[24, 4])
plt.bar(names, npeople)
plt.xticks(range(len(names)), names, rotation=45)
plt.grid()
plt.show()
=>
서울역1호선: 483689
종각1호선: 491830
을지로입구2호선: 595862
성수2호선: 448350
잠실(송파구청)2호선: 441184
삼성(무역센터)2호선: 658911
선릉2호선: 576660
역삼2호선: 721797
강남2호선: 702035
구로디지털단지2호선: 409566
양재(서초구청)3호선: 426364
여의도5호선: 416634
광화문(세종문화회관)5호선: 450415
가산디지털단지7호선: 686146
데이터 분석을 할 때는, pandas를 사용한다.