오도원입니다.

건강과 행복을 위하여

반응형

PNU DSC/파이썬 데이터 분석 11

04-3. 대중교통 공공데이터 - 시간대별 승하차

그렇다면 시간대별로 사람들이 가장 많이 타고 내리는 역은 어디일까? 24시간 전체에 대해 계산해보자. for loop를 사용하면 좋겠다. 또한 시간대별 데이터를 각각 저장할 리스트도 필요하다. 우리가 표현할 시간대는 24시간을 1시간 단위로 구부하였으므로 총 24개이다. range함수를 사용한다면 range(24)로 쓸 수 있다. range함수는 0부터 시작하므로 0~23을 표현할 인덱스 j가 필요하다. 또한 승차 인원 값의 인덱스 i가 있다. i는 4부터 시작한다. 이때 i와 j를 비교해보자. for 반복무네 사용되는 변수 j와 인덱스 사이의 패턴 찾기 변수 j 인덱스 i 패턴 0 4 i = j * 2 + 4 1 6 2 8 ... ... 23 50 이 패턴을 바탕으로 다음과 같이 코드를 작성한다. im..

04-2. 대중교통 공공데이터 - 지하철 시간대별 데이터

1. 출근 시간대 사람들이 가장 많이 타고 내리는 역은 어디인가. 2. 지하철 시간대별로 가장 많은 사람이 승하차 하는 역은 어디인가. 1. 지하철 시간대별 이용 현황 데이터 정제하기 교통카드 데이터 파일에서 지하철 시간대별 이용현황 시트를 선택한다. 해당 시트를 파일->다른 이름으로 저장 한 뒤에 subwaytime으로 정하고 파일 형식을 csv로 선택한 후 저장한다. 가장 우측에 있는 작업 일시 열을 삭제한다. import csv with open('subwaytime.csv') as f: data = csv.reader(f) for row in data: print(row) 출력된 결과를 살펴보면 헤더(header)가 2개의 행으로 이루어져있다. 첫번째 행은 사용월, 호선명, 역 ID, 역이름 그리..

04-1. 대중교통 공공데이터

1. 대중교통 데이터 내려받기 https://pay.tmoney.co.kr/index.dev 티머니 카드&페이 티머니카드, 어린이/청소년할인, T마일리지적립, 소득공제, 유통/교통/모바일결제, 고속/시외버스예매 pay.tmoney.co.kr 1. 이용안내 선택 2. 대중교통 통계자료 선택 3. 2020년 4월 교통카드 통계자료 선택 4. 월간 교통카드 통계자료 다운로드 이제 다운받은 엑셀 파일을 살펴보자. 버스정류장별 이용현황 지하철 노선별 역별 이용현황 지하철 유무임별 이용현황 지하철 시간대별 이용현황 이렇게 4가지의 통계자료를 볼 수 있다. 가장 먼저 활용할 데이터는 '지하철 유무임별 이용현황' 데이터이다. 2. 지하철 유무임별 이용현황 데이터 정제하기 지하철 유무임별 이용현황 시트를 선택하고 'su..

03-4. 인구 공공데이터 - 산점도

지금까지의 그래프는 다음과 같다. 위의 그래프는 연령대별 성별 비율을 알아보기 힘들다. 1. 꺾은선 그래프로 표현하기 남성 데이터와 여성 데이터를 서로 다른 색의 꺾은선 그래프로 표현해보자. file = open('gender.csv') data = csv.reader(file) m = [] f = [] name = input('지역 입력 => ') for row in data: if name in row[0]: for i in range(3, 104): m.append(int(row[i].replace(',', ''))) # 남성 데이터 저장 f.append(int(row[i+103].replace(',', ''))) # 여성 데이터 저장 break plt.plot(m, label='Male') plt..

03-3. 인구 공공 데이터 - 파이차트

1. 우리 동네 인구 구조를 파이 차트로 나타내기 제주도의 남녀 성별 비율을 barh()그래프로 나타내보자. import csv import matplotlib.pyplot as plt file = open('gender.csv') data = csv.reader(file) m = [] f = [] name = input('지역 입력 => ') for row in data: if name in row[0]: for i in row[3:104]: m.append(-int(i.replace(',',''))) for i in row[106:]: f.append(int(i.replace(',', ''))) plt.style.use('ggplot') plt.figure(figsize=(10,5), dpi=300)..

03-2. 인구 공공데이터2

1. 인구 구조를시각화하기 import csv import matplotlib.pyplot as plt f = open('age.csv') data = csv.reader(f) result = [] name = input('인구 구조가 알고 싶은 지역의 이름(읍면동 단위)을 입력해주세요 : ') for row in data: if name in row[0]: for i in row[3:]: result.append(int(i.replace(',', ''))) # int로 형변환하기 위해 ,를 없앤다. plt.style.use('ggplot') plt.rc('font', family='Malgun Gothic') plt.title(name + ' 지역의 인구구조') plt.plot(result) plt.s..

03-1. 인구 공공데이터 1

1. 우리 동네 인구구조 시각화하기 2. 인구 구조를 다양한 형태로 시각화하기 3. 우리 동네 인구 구조를 파이 차트로 나타내기 4. 우리 동네 인구 구조를 산점도로 나타내기 1. 우리 동네 인구 구조 시각화하기 '현대 경영학의 아버지'라 불리는 피터 드러커는 "인구 통계의 변화는 미래와 관련된 것 가운데 정확한 예측을 할 수 있는 유일한 사실"이라고 했다. 그만큼 인구 데이터는 다양한 인사이트(insight)를 제공한다. 1) 인구 공공데이터 내려받기 https://mois.go.kr/frt/a01/frtMain.do 행정안전부 대표 누리집 행정안전부 홈페이지에 오신것을 환영합니다. mois.go.kr 정택자료 -> 통계 -> 주민등록 인구통계 연령별 인구현환 남/여 구분 체크 해제 연령 구분단위 1세..

02-3. 데이터 시각화 기초 3

기온 데이터를 다양하게 시각화하기 1. 히스토그램 히스토그램은 자료의 분포상태를 직사각형 모양의 막대 그래프로 나타난 것이다. 막대 그래프의 높이는 데이터의 빈도에 따라 결정된다. import matplotlib.pyplot as plt plt.hist([1, 1, 2, 3, 4, 5, 6, 6, 7, 8, 10]) plt.show() 1, 6은 두 개씩 있고, 9를 제외한 나머지는 한 개씩, 9는 아예 없습니다. 주사위 시뮬레이션 random 모듈의 randint() 함수를 사용하여 주사위를 구현해보자. import random print(random.randint(1, 6)) randint(a, b)를 실행하면 a이상 b이하의 정수 하나를 반환한다. for문을 사용하여 주사위를 5번 굴려보겠다. im..

02-2. 데이터 시각화 기초 2

내 생일의 기온 변화를 그래프로 그리기 1. 데이터에 질문하기 태어난 날부터 지금까지 매년 생일의 최고 기온을 그래프로 그린다면 어떤 모양일까? 1) 데이터 읽어오기 먼저 부산의 기온 데이터를 읽어와서 한 줄씩 출력해보겠다. import csv f = open('pusan.csv') data = csv.reader(f) for row in data: print(row) 이번에는 헤더부분을 next()로 제외한 후, 최고기온 데이터만 출력해보겠다. f = open('pusan.csv') data = csv.reader(f) header = next(data) for row in data: print(row[-1]) 2) 데이터 리스트에 저장하기 최고 기온 데이터를 날짜 순으로 저장할 result 리스틀 생..

02-1. 데이터 시각화 기초 1

기본 그래프 그리기 1) matplotlib 라이브러리 파이썬으로 데이터를 시각화하는 데는 matplotlib 라이브러리를 가장 많이 사용한다. 그래프, 이미지, 등을 그릴 때 사용한다. matplotlib 라이브러리 안에는 다양한 모듈들이 있는 pyplot 이라는 모듈을 주로 사용할 것이다. import matplotlib.pyplot matplotlib.pyplot 이름이 너무 길고 복잡하므로 alias로 plt라는 이름을 사용하겠다. import matplotlib.pyplot as plt 2) 기본 그래프 그리기 plot() 함수에 한 개의 리스트를 입력했다. plot() 함수는 직선 또는 꺾은선 그래프를 그릴 때 사용하는 명령어이다. import matplotlib.pyplot as plt pl..

반응형