我有以下格式的資料
| ID | 學校 | 名稱1 | 名稱1 主題1 | 姓名1年級1 | 名稱1 主題2 | 姓名1年級2 | 名稱2 | 名稱 2 主題 1 | 姓名2年級1 | 名稱 2 主題 2 | 姓名2年級2 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | S1 | ABC先生 | 數學 | 6 | 科學 | 7 | XYZ先生 | 社會的 | 8 | 電動汽車 | 9 |
| 2 | S2 | PQR先生 | 數學 | 10 | 科學 | 11 | 荷航先生 | 社會的 | 8 | 電動汽車 | 9 |
我可以使用Python將其轉換為以下格式嗎
| ID | 學校 | 姓名 | 主題 | 年級 |
|---|---|---|---|---|
| 1 | S1 | ABC先生 | 數學 | 6 |
| 1 | S1 | ABC先生 | 科學 | 7 |
| 1 | S1 | XYZ先生 | 社會的 | 8 |
| 1 | S1 | XYZ先生 | 電動汽車 | 9 |
| 2 | S2 | PQR先生 | 數學 | 10 |
| 2 | S2 | PQR先生 | 科學 | 11 |
| 2 | S2 | 荷航先生 | 社會的 | 8 |
| 2 | S2 | 荷航先生 | 電動汽車 | 9 |
uj5u.com熱心網友回復:
可能有更好的解決方案,但這也有效:
df_1=df[['ID', 'SCHOOL','Name1', 'Name1 Subject1',
'Name1 Grade1']]
df_2=df[['ID', 'SCHOOL','Name1', 'Name1 Subject2',
'Name1 Grade2']]
df_3=df[['ID', 'SCHOOL','Name2', 'Name2 Subject1',
'Name2 Grade1']]
df_4=df[['ID', 'SCHOOL','Name2', 'Name2 Subject2',
'Name2 Grade2']]
df_list=[df_1,df_2,df_3,df_4]
for i in df_list:
i.columns=['ID','SCHOOL','Name','Subject','Grade']
final=pd.concat(df_list)
print(final)
'''
ID SCHOOL Name Subject Grade
0 1 S1 Mr. ABC Math 6
1 2 S2 Mr. PQR Math 10
0 1 S1 Mr. ABC Science 7
1 2 S2 Mr. PQR Science 11
0 1 S1 Mr. XYZ Social 8
1 2 S2 Mr. KLM Social 8
0 1 S1 Mr. XYZ EVS 9
1 2 S2 Mr. KLM EVS 9
'''
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/516058.html
