使用python根据需要转换以下数据

问题描述 投票:0回答:1

我输入了以下格式:

预期输出采用以下格式:

我尝试使用 pandas 数据框来格式化数据并使用规范化技术,但它没有按预期工作。

所以在这里发布我的输入和输出图像

如果需要副本,请从下面复制

python pandas excel dataframe normalize
1个回答
0
投票

如果您有excel文件,可以使用以下代码:

df = pd.read_excel('exam.xlsx', index_col=[0, 1, 2, 3, 4], header=[0, 1])
df.index.names = ['STUDENT_ID', 'NAME', 'CLASS', 'SECTION', 'SCHOOL']
df = df.stack('EXAM').rename_axis(columns=None).reset_index()

输出:

>>> df
   STUDENT_ID NAME  CLASS SECTION    SCHOOL EXAM  LANGUAGE1  LANGUAGE2  MATHS
0           1  JOE      8       A  X-SCHOOL   Q1         80         80     80
1           1  JOE      8       A  X-SCHOOL   Q2         90         90     90
2           2  MAX      8       A  Y-SCHOOL   Q1         81         81     81
3           2  MAX      8       A  Y-SCHOOL   Q2         91         91     91

注意:您应该提供数据链接或任何重现您输入的方式。

© www.soinside.com 2019 - 2024. All rights reserved.