Вычислить среднее значение по колонке в файле
Пытаюсь вычислить среднее значение оценок учеников в каждом факультете и ничего на ум не приходит. Прошу помощи! Python
filename = input('Enter name of file: ')
file = open(filename, 'r')
massive = []
massive1 = []
massive = file.readlines()
for i in massive:
massive1.append(i.strip().split(','))
#-----Sorting
for i in sorted(massive1, key=lambda ex : (ex[1])):
print(i)
file.close()
#Конец кода
Это часть кода для 1-й части задания, а как посчитать среднюю оценку каждого факультета(3-й параметр) Вот данные файла с которыми я работал.
Cherkas,2002,FizMat,5
Grigorenko,2002,FizMat,5
Sokil,2001,IstFak,5
Konev,2000,IstFak,3
Pulya,2002,IstFak,4
KiMChenIn,1984,FilFak,2
Onegin,2000,FilFak,4
На экран должно выводить
IstFak: 4
FizMat: 5
FilFak: 3
Ответы (1 шт):
Автор решения: eri
→ Ссылка
Тут надо стбрать оценки в словарь. defaultdict упрощает
from collections import defaultdict
massive = """Cherkas,2002,FizMat,5
Grigorenko,2002,FizMat,5
Sokil,2001,IstFak,5
Konev,2000,IstFak,3
Pulya,2002,IstFak,4
KiMChenIn,1984,FilFak,2
Onegin,2000,FilFak,4""".splitlines()
massive1 = []
for i in massive:
massive1.append(i.strip().split(','))
averdict=defaultdict(list)
for i in massive1:
averdict[i[2]].append(int(i[3]))
for k,v in averdict.items():
avg = sum(v)/len(v)
print(k,avg,sep=": ")