본문 바로가기
프로그램

[파이썬] 문제 : 학생들 성적을 numpy로 만들고 평균 구하기

by 오디세이99 2022. 11. 7.
728x90
반응형

fake_student_records.csv
0.00MB

import csv
import numpy as np

with open('fake_student_records2.csv', mode='r', encoding='utf-8') as csv_file:  # csv파일 읽기
    csv_reader = csv.DictReader(csv_file)    

    lst = []
    for row in csv_reader:       # 한 줄씩 읽기
        # print(row)
        tmp = [row['과제1'], row['과제2'], row['과제3'], row['과제4'], row['과제5'], row['과제6'], row['과제7'], row['과제8']]   #점수만 리스트로 만듬
        tmp = list(map(int, tmp))   # 문자열을 정수로 변환
        lst.append(tmp)             # 리스트에 추가
    
np_arr = np.array(lst)                    # 2차원 numpy array로 변화
avg = np.average(np_arr, axis=0)          # 컬럼별 average
prt_lst = [round(a, 1) for a in avg.tolist()]   # 결과avg 의 numpy array에서 리스트로 변환 후 소수점 1자리로 변환
print(prt_lst)

결과

[77.7, 73.2, 74.1, 72.3, 74.4, 74.2, 78.5, 75.5]
728x90
반응형

댓글