●CSV예제 파일을 다운받아 주세요
**입력하는 코드가 있는 파일과 같은 폴더에 위치해 있어야 합니다**
import csv
import numpy as np
f = open('school_2019.csv', 'r', encoding='utf-8')
lines = csv.reader(f)
header = next(lines)
list_data = []
for line in lines :
list_data.append(line[:])
length = len(list_data)
data = np.zeros((length, 3), dtype='int32')
for i in range(length) :
for j in range(3) :
data[i][j] = list_data[i][j+2]
#CSV 파일을 2차원 리스트(list_data)에 저장하고, 다시 리스트의 데이터를 Numpy의 ndarray 배열 data 객체에 저장
max_index = np.argmax(data, axis=0)
#각 열을 기준으로 data에서 가장 큰 값의 인덱스 로 구성된 ndarray 배열 객체
print(max_index)
#최대 학생수, 최대학생수, 최대교생수를 가진 요소의 인덱스 출력
max_class = list_data[max_index[0]][1]
#max_index[0]은 138이고 이 138은 list_data의 행인덱스가 된다. 따라서 list_data[138][1]을 검색하는 것과 동일
#가장 많은 학급수를 가진 학교명 추출
num_class = list_data[max_index[0]][2]
#max_index[0]은 138이고 이 138은 list_data의 행인덱스가 된다. 따라서 list_data[138][2]을 검색하는 것과 동일
#가장 많은 학급수를 가진 학교의 학급수 추출
max_student = list_data[max_index[1]][1]
#max_index[1]은 1999이고 이 1999는 list_data의 행인덱스가 된다. 따라서 list_data[1999][1]을 검색하는 것과 동일
#가장 많은 학생수를 가진 학교명 추출
num_student = list_data[max_index[1]][3]
#max_index[0]은 1999이고 이 1999은 list_data의 행인덱스가 된다. 따라서 list_data[1999][3]을 검색하는 것과 동일
#가장 많은 학생수를 가진 학교의 학생수 추출
max_teacher = list_data[max_index[2]][1]
#max_index[0]은 138이고 이 138은 list_data의 행인덱스가 된다. 따라서 list_data[138][1]을 검색하는 것과 동일
#가장 많은 교사수를 가진 학교명 추출
num_teacher = list_data[max_index[2]][4]
#max_index[0]은 138이고 이 138은 list_data의 행인덱스가 된다. 따라서 list_data[138][4]를 검색하는 것과 동일
#가장 많은 교사수를 가진 학교의 교사수 추출
print('최대 학급수의 초등학교 : %s, 학급수 : %s개 ' % (max_class,num_class ))
print('최대 학생수의 초등학교 : %s, 학생수 : %s명' % (max_student,num_student ))
print('최대 교사수의 초등학교 : %s, 교사수 : %s명' % (max_teacher,num_teacher ))
f.close()
[ 138 1999 138]
최대 학급수의 초등학교 : 서울신정초등학교, 학급수 : 75개
최대 학생수의 초등학교 : 탄벌초등학교, 학생수 : 2178명
최대 교사수의 초등학교 : 서울신정초등학교, 교사수 : 91명
출처: 예제 중심 파이썬 입문
궁금한 부분이 있으면 댓글 부탁드립니다^^
'• programming language > python' 카테고리의 다른 글
[파이썬 예제] Numpy 5- csv파일 읽고 리스트로 저장 (0) | 2022.08.01 |
---|---|
[파이썬 예제] Numpy 4- 특정 초등학교 학생수와 교사수 비교하기 (0) | 2022.07.29 |
[파이썬 예제] Numpy 2- 최대 학급수/학생수/교사수 찾기 (0) | 2022.07.29 |
[파이썬 예제] Numpy 1- 최대 학급수/학생수/교사수 찾기 (0) | 2022.07.29 |
[파이썬 개념] Numpy - 개념 총정리 (생성,추출,연산,통계,메소드,조건식,정렬 등) (0) | 2022.07.26 |