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
添加回答
舉報