Как рассчитать оценку по заданию (стоит 20%) и оценку за экзамены (стоит 30%) и показать ее в новой колонке как окончательную оценку? - PullRequest
1 голос
/ 06 апреля 2019

Вот что мне нужно сделать:

  1. Создать новый столбец в df под названием «Окончательный счет»
  2. Это будет содержать комбинированный балл студента от всех заданий и экзаменов
  3. Используйте это правило: каждое задание стоит 20% от оценки, каждый экзамен стоит 30%

Я пытался преобразовать строку оценки присваивания в int, но продолжает говорить, что не может быть преобразован. У меня возникла проблема с умножением заданий и экзаменационных оценок. Ошибка: не могу умножить строку и int

Оригинальный df выглядит так:

"""
Student ID  Assignment Name   Score
abcd1234    assignment 1      76.52
efgh5678    exam 1            67.22
abcd1234    assignment 2      88.46
...
etc.
"""

Я сопоставил аналогичные значения и развернул:

mapping = {
  'exam 1' : 'Exam 1',
  'test 1' : 'Exam 1',
  'exam 2' : 'Exam 2',
  'test #2' : 'Exam 2',
  'assignment 1' : 'Assignment 1',
  'homework 1' : 'Assignment 1',
  'first assignment' : 'Assignment 1',
  'assignment 2' : 'Assignment 2',
  'assignment #2' : 'Assignment 2',
  'HW 2' : 'Assignment 2',
}

def map_value(value):
  return mapping[value] if value in mapping else value

x = lambda value: mapping[value] if value in mapping else value

df.loc[:, 'Assignment Name'] = df['Assignment Name'].apply(x)
pivot = df.pivot(index='Student ID', columns='Assignment Name', values='Score')

print (pivot)

Вот как выглядят данные печати (сводки):

"""
Assignment Name    Assignment 1  Assignment 2  Exam 1  Exam 2
Student ID
abcd1234            76.52        79.23         88.46   87.31
...

Мне нужно, чтобы он выглядел так:

"""
Student ID  Assignment 1  Exam 1  Assignment 2  Exam 2
abcd1234    76.52         79.23   88.46         87.31
efgh5678    86.11         67.22   75.45         77.20
...
etc.
"""

Кроме того, я заблудился о том, как продолжать делать следующее:

  1. Создать новый столбец в df под названием «Окончательный счет»
  2. Это будет содержать комбинированный балл студента от всех заданий и экзаменов
  3. Используйте это правило: каждое задание стоит 20% оценки, каждый экзамен стоит 30%

Мне нужно, чтобы мои окончательные данные выглядели так:

"""
Student ID  Assignment 1  Exam 1  Assignment 2  Exam 2  Final Score
abcd1234    76.52         79.23   88.46         87.31   82.96
efgh5678    86.11         67.22   75.45         77.20   75.64
...
etc.
"""

Спасибо

...