Расчеты на основе данных, извлеченных из Excel, с использованием python - PullRequest
2 голосов
/ 05 августа 2020

Я хочу рассчитать средний балл и средний балл оценок, которые я извлекаю из файла Excel. в настоящее время я могу взять столбец из файла Excel, и я понял, как создавать списки на основе ручного ввода. однако я хотел бы взять столбец числовых оценок из Excel и использовать их в качестве входных данных (вместо ручного ввода), чтобы преобразовать их в средний балл и рассчитать совокупный средний балл. Я явно хочу пропустить курсы без оценки. как использовать данные, извлеченные из Excel, при расчете среднего балла? Я новичок в python и работаю с Excel, поэтому все помогает. спасибо

Course                      Scores
Art II                        93
Spanish II                   100
Algebra II Trig Honors        96
Christian Scriptures          99
Chemistry   
American History Honors       87
Phys Ed
Chemistry II                  92

python код

df3 = pd.read_excel('file.xlsx')
scores = df3[['Scores']]
print(scores)

letters = []
points = []
score = float(input("enter: "))
if(score < 101):
    letters.append('A')
    points.append(4.0)
elif(score < 90):
    letters.append('B')
    points.append(3.0)
elif(score < 80):
    letters.append('C')
    points.append(2.0)
elif(score < 70):
    letters.append('D')
    points.append(1.0)
elif(score < 60):
    letters.append('F')
    points.append(0.0)

print(letters)
print(points)

1 Ответ

4 голосов
/ 05 августа 2020

Я считаю, что вам нужно cut с mean, потому что категорический необходимо преобразовать в float:

bins = [0,60,70,80,90,101]
df3['letters'] = pd.cut(df3['Scores'], bins=bins, labels=list('FDCBA'))
df3['points'] = pd.cut(df3['Scores'], bins=bins, labels=[0.0,1.0,2.0,3.0,4.0])

mean = df3['points'].astype(float).mean()
print (mean)
3.8333333333333335

print (df3)
                    Course  Scores letters points
0                   Art II    93.0       A    4.0
1               Spanish II   100.0       A    4.0
2   Algebra II Trig Honors    96.0       A    4.0
3     Christian Scriptures    99.0       A    4.0
4                Chemistry     NaN     NaN    NaN
5  American History Honors    87.0       B    3.0
6                  Phys Ed     NaN     NaN    NaN
7             Chemistry II    92.0       A    4.0
...