Python 我如何计算作业成绩(值20%)和考试成绩(值30%),并在新栏中显示为最终成绩? 这就是我需要做的: 在df中创建一个名为“最终分数”的新列 这将包含学生所有作业和考试的综合分数 使用这个规则:每项作业价值20%的分数,每项考试价值30%

Python 我如何计算作业成绩(值20%)和考试成绩(值30%),并在新栏中显示为最终成绩? 这就是我需要做的: 在df中创建一个名为“最终分数”的新列 这将包含学生所有作业和考试的综合分数 使用这个规则:每项作业价值20%的分数,每项考试价值30%,python,pivot,pivot-table,Python,Pivot,Pivot Table,我尝试将作业分数字符串转换为int,但一直说不能转换。我在计算作业和考试成绩时遇到了问题。错误:无法将字符串和整数相乘 原始df如下所示: 我映射了类似的值并旋转: 这是打印(透视)数据的外观: """ Assignment Name Assignment 1 Assignment 2 Exam 1 Exam 2 Student ID abcd1234 76.52 79.23 88.46 87.31

我尝试将作业分数字符串转换为int,但一直说不能转换。我在计算作业和考试成绩时遇到了问题。错误:无法将字符串和整数相乘

原始df如下所示: 我映射了类似的值并旋转: 这是打印(透视)数据的外观:

"""
Assignment Name    Assignment 1  Assignment 2  Exam 1  Exam 2
Student ID
abcd1234            76.52        79.23         88.46   87.31
...
我需要它看起来像这样: 此外,我还不知道如何继续做以下工作:
  • 在df中创建一个名为“最终分数”的新列
  • 这将包含学生所有作业和考试的综合分数
  • 使用这个规则:每项作业价值20%的分数,每项考试价值30%
  • 我需要我的最终数据如下所示: 多谢各位

    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.
    """
    
    """
    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.
    """