2022.08.18

🚍대중교통데이터 프로그램

  • 유임승차 비율이 가장 많은 역 찾기

import csv
f = open('/content/유무임별 , 없음.csv', encoding = 'cp949')
data = csv.reader(f)
next(data)

mx = 0
rate = 0
mx_station = ''


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, mx_station)

0.951 홍대입구 공항철도 1호선

  • 유임승차인원이 가장 많은 역과 인원수

import csv
f = open('/content/유무임별 , 없음.csv', encoding = 'cp949')
data = csv.reader(f)
next(data)

mx = 0
mx_station = ''

for row in data:

    # 4가지 값을 정수로 바꿔주기(유임승차,유임하차,무임승차,무임하차)
    for i in range(4,8):
        row[i] = int(row[i])

    if row[4] > mx:
        mx = row[4]
        mx_station = row[1] + ' ' +row[3]

print(mx_station,mx)

2호선 강남 2235658

  • 유무임 승하차 인원이 가장 많은 역 찾기

# 유무임 승하차 인원이 가장 많은 역 찾기

import csv
f = open('/content/유무임별 , 없음.csv', encoding = 'cp949')
data = csv.reader(f)
next(data)

mx = [0,0,0,0]
mx_station = ['','','','']

for row in data:

    # 4가지 값을 정수로 바꿔주기(유임승차,유임하차,무임승차,무임하차)
    for i in range(4,8):
        row[i] = int(row[i])

    for i in range(4): # 0,1,2,3
        if row[i+4] > mx[i]:
            mx[i] = row[i+4]
            mx_station[i] = row[1] + ' ' +row[3]

print(mx_station,mx)

['2호선 강남', '2호선 강남', '1호선 종로3가', '1호선 제기동'][2235658, 2193476, 289163, 279438]

  • 유무임 승하차 인원이 가장 많은 역 찾기

# 대중교통데이터프로그램 만들기
# 유무임 승하차 인원이 가장 많은 역 찾기
import csv
f = open('/content/유무임별 , 없음.csv', encoding = 'cp949')
data = csv.reader(f)
next(data)

mx = [0] * 4
mx_station = [''] * 4

label = ['유임승차', '유임하차', '무임승차', '무임하차']

for row in data:
    for i in range(4,8):
        row[i] = int(row[i])

    #if row[6] == 0:
    #    rate = row[4]
    #else:
    #    rate = row[4]/row[6]
        if row [i] > mx[i-4] :
            mx[i-4] = row[i]
            mx_station[i-4] = row[1] + '' + row[3]

for i in range(4):
    print(label[i]+' : '+ mx_station[i],mx[i])

유임승차 : 2호선강남 2235658
유임하차 : 2호선강남 2193476
무임승차 : 1호선종로3가 289163
무임하차 : 1호선제기동 279438

# 유임승차인원이 가장 많은 역과 인원수


import csv
import matplotlib.pyplot as plt

f = open('/content/유무임별 , 없음.csv', encoding = 'cp949')
data = csv.reader(f)
next(data)

mx = [0,0,0,0]
mx_station = ['','','','']
title = ['유임승차','유임하차','무임승차','무임하차']

for row in data:

    # 4가지 값을 정수로 바꿔주기(유임승차,유임하차,무임승차,무임하차)
    for i in range(4,8):
        row[i] = int(row[i])

    for i in range(4): # 0,1,2,3 / 위에서 i값이 종결됐기 때문에 사용가능하다.
        if row[i+4] > mx[i]:
            mx[i] = row[i+4]
            mx_station[i] = row[1] + ' ' +row[3]

c = ['#14CCC0', '#389993', '#FF1CCA', '#CC14AF'] 
plt.figure(dpi=300)
plt.title(row[1]+''+row[3])
plt.pie(row[4:8], colors=c, labels=title, autopct= '%1.f%%')
plt.axis('equal')
plt.show()

for i in range(4):
    print(title[i],':',mx_station[i],mx[i])    

📊 바형 그래프를 그려보자.

import csv
f = open('/content/시간대별 , 없음.csv', encoding = 'cp949')
data = csv.reader(f)
next(data)
next(data)

result = []

for row in data :
    row[4:] = map(int, row[4:])
    result.append(row[10])

print(len(result))
print(result)

import matplotlib.pyplot as plt
plt.bar(range(len(result)),result)
plt.show()

import matplotlib.pyplot as plt
import csv
f = open('/content/시간대별 , 없음.csv', encoding = 'cp949')
data = csv.reader(f)
next(data)
next(data)

for row in data :
    row[4:] = map(int,row[4:])
    result.append(sum(row[10:15:2]))

plt.bar(range(len(result)),result)
plt.show()

profile
Do (Awe)Something!

0개의 댓글