1 回答
TA贡献1799条经验 获得超6个赞
仅通过读取这些数据,您将无法获得所显示的输出。此外,您还可以跳过包含课程和小组信息的 2 行。我要做的是:
import pandas as pd
df = pd.read_excel('stack.xlsx',header=None, skiprows=3)
df = pd.DataFrame(df)
0 1 2 3 4 5
0 01.06.2015 3 01.06.2015 3 01.06.2015 3
现在,更改列的名称
df.columns=['math A','grade A', 'Bio B','grade B','physic C', 'grade C']
math A grade A Bio B grade B physic C grade C
0 01.06.2015 3 01.06.2015 3 01.06.2015 3
之后,您可以迭代这些行并使用您想要的输出创建一个新的数据框:)
像这样的3个循环,你会得到你想要的,只要记住你不能用i = 0初始化,但i你将开始下一个循环,是你完成上一个循环的i
df_wanted = pd.DataFrame(columns=['date','grade','course','group'])
i = 0
for index,row in df[['math A','grade A']].iterrows():
df_wanted.loc[i,'date'] = row[0]
df_wanted.loc[i,'grade'] = row[1]
df_wanted.loc[i,'course'] = 'math'
df_wanted.loc[i,'group'] = 'A'
i+=1
date grade course group
0 01.06.2015 3 math A
添加回答
举报