2020年11月17日 星期二

Pandas 讀取excel考試檔,並清洗數據!!

 

Pandas 讀取excel考試檔,並清洗數據

以下資料姓名為亂數產生,考試資料也非真人實際資料

In [1]:
import pandas as pd

#顯示所有列
pd.set_option('display.max_columns', None)
#顯示所有行
pd.set_option('display.max_rows', None)
#設置value的顯示長度為100,默認為50
pd.set_option('max_colwidth',100)

df = pd.read_excel('00mytest.xlsx')
df.head()
Out[1]:
排 序學 測\n應試號碼考生姓名身分 代碼國文英文數學學科能力 測驗成績審查資料 面試指定項目 甄試成績個人申請 總 成 績名次附註
0NaNNaNNaNNaN社會自然總級分NaNNaNNaNNaNNaNNaN
1110033861張俊嘉112111223.6281.00 83.6757.7681.3934不錄取,未達最低 錄取分數
2NaNNaNNaNNaN141160NaNNaNNaNNaNNaNNaN
3210110042黃穎萱1128132383.33 92.3361.9384.9312正取12
4NaNNaNNaNNaN141158NaNNaNNaNNaNNaNNaN

以上資料顯示,這個excel檔的欄位名稱其實延伸到第2列

In [2]:
# 所以我們要將header設為2列但「社會」、「自然」和「總級分」的資料跑到下一列去了
df = pd.read_excel('00mytest.xlsx', header = [0,1])
df
Out[2]:
排 序學 測\n應試號碼考生姓名身分 代碼國文英文數學學科能力 測驗成績審查資料 面試指定項目 甄試成績個人申請 總 成 績名次附註
Unnamed: 0_level_1Unnamed: 1_level_1Unnamed: 2_level_1Unnamed: 3_level_1社會自然總級分Unnamed: 7_level_1Unnamed: 8_level_1Unnamed: 9_level_1Unnamed: 10_level_1Unnamed: 11_level_1Unnamed: 12_level_1
0110033861張俊嘉112111223.6281.00 83.6757.7681.3934不錄取,未達最低 錄取分數
1NaNNaNNaNNaN141160NaNNaNNaNNaNNaNNaN
2210110042黃穎萱1128132383.33 92.3361.9384.9312正取12
3NaNNaNNaNNaN141158NaNNaNNaNNaNNaNNaN
4310111172李鳳善11314822.8780.67 81.6756.8679.7441不錄取,未達最低 錄取分數
5NaNNaNNaNNaN111258NaNNaNNaNNaNNaNNaN
6410127348張慶松111121524.3784.67 89.006185.389正取9
7NaNNaNNaNNaN111160NaNNaNNaNNaNNaNNaN
8510129065李心怡112131024.1286.00 89.0061.485.538正取8
9NaNNaNNaNNaN131361NaNNaNNaNNaNNaNNaN
10610148374朱佩珊113121123.3781.00 85.3358.4381.8130不錄取,未達最低 錄取分數
11NaNNaNNaNNaN121159NaNNaNNaNNaNNaNNaN
12710159940杜怡婷113111424.581.00 85.6758.5683.0723不錄取,未達最低 錄取分數
13NaNNaNNaNNaN101260NaNNaNNaNNaNNaNNaN
14810163034彭緯聿112131124.3778.67 84.6757.4681.8429不錄取,未達最低 錄取分數
15NaNNaNNaNNaN121361NaNNaNNaNNaNNaNNaN
16910170573蕭惠君113121223.8777.67 84.0056.980.7837不錄取,未達最低 錄取分數
17NaNNaNNaNNaN121160NaNNaNNaNNaNNaNNaN
181010172046楊哲銘112131124.1280.33 85.0058.0982.2227不錄取,未達最低 錄取分數
19NaNNaNNaNNaN131261NaNNaNNaNNaNNaNNaN
201110173537李馨慧113131123.7584.67 86.3359.9383.6818不錄取,未達最低 錄取分數
21NaNNaNNaNNaN121160NaNNaNNaNNaNNaNNaN
221210178838何侑劭112131224.1285.67 0.0025.749.83##不錄取,未通過指 定項目檢定
23NaNNaNNaNNaN111260NaNNaNNaNNaNNaNNaN
241310181637洪青凱112141123.7581.33 84.3358.1381.8828不錄取,未達最低 錄取分數
25NaNNaNNaNNaN121160NaNNaNNaNNaNNaNNaN
26排 序學 測\n應試號碼考生姓名身分 代碼國文英文數學學科能力 測驗成績審查資料 面試指定項目 甄試成績個人申請 總 成 績名次附註
27NaNNaNNaNNaN社會自然總級分NaNNaNNaNNaNNaNNaN
281410195746毛彥志112141122.7580.67 85.0058.280.9535不錄取,未達最低 錄取分數
29NaNNaNNaNNaN12958NaNNaNNaNNaNNaNNaN
301510196244黃啟斌114131124.1280.67 81.3356.7380.8636不錄取,未達最低 錄取分數
31NaNNaNNaNNaN121161NaNNaNNaNNaNNaNNaN
321610208250吳向惟112131123.1286.67 88.0061.284.3315正取15
33NaNNaNNaNNaN111158NaNNaNNaNNaNNaNNaN
341710213841鄭宇瑄11212132480.33 81.6756.7680.7738不錄取,未達最低 錄取分數
35NaNNaNNaNNaN121160NaNNaNNaNNaNNaNNaN
361810214143李涵迪111121022.6281.33 77.6755.4678.0942不錄取,未達最低 錄取分數
37NaNNaNNaNNaN141158NaNNaNNaNNaNNaNNaN
381910218344陳如君11113822.587.67 91.3362.8385.3310正取10
39NaNNaNNaNNaN141258NaNNaNNaNNaNNaNNaN
402010221035陳慧發111121424.8783.00 85.6759.1684.0416不錄取,未達最低 錄取分數
41NaNNaNNaNNaN131262NaNNaNNaNNaNNaNNaN
422110221861王聖全113101223.8781.33 88.3359.7383.6119不錄取,未達最低 錄取分數
43NaNNaNNaNNaN131260NaNNaNNaNNaNNaNNaN
442210223472王芳羽112111123.6289.00 89.0062.385.934正取4
45NaNNaNNaNNaN141260NaNNaNNaNNaNNaNNaN
462310224674林凱鈞114111023.8785.67 84.0059.383.1822不錄取,未達最低 錄取分數
47NaNNaNNaNNaN141261NaNNaNNaNNaNNaNNaN
482410234247洪玟君11312822.6284.00 81.0057.680.2340不錄取,未達最低 錄取分數
49NaNNaNNaNNaN131258NaNNaNNaNNaNNaNNaN
502510235547張鈞元11281423.7582.33 83.3358.0381.7831不錄取,未達最低 錄取分數
51NaNNaNNaNNaN131259NaNNaNNaNNaNNaNNaN
522610240760葉誠妤11291223.3782.00 88.6760.0683.4420不錄取,未達最低 錄取分數
53NaNNaNNaNNaN121358NaNNaNNaNNaNNaNNaN
54排 序學 測\n應試號碼考生姓名身分 代碼國文英文數學學科能力 測驗成績審查資料 面試指定項目 甄試成績個人申請 總 成 績名次附註
55NaNNaNNaNNaN社會自然總級分NaNNaNNaNNaNNaNNaN
562710244938張立白111141123.3781.67 84.3358.2381.6133不錄取,未達最低 錄取分數
57NaNNaNNaNNaN121159NaNNaNNaNNaNNaNNaN
582810245260林宏成11312822.3787.67 86.6760.9683.3421不錄取,未達最低 錄取分數
59NaNNaNNaNNaN141158NaNNaNNaNNaNNaNNaN
602910247745許靖雯113111223.7586.00 88.6761.2685.0211正取11
61NaNNaNNaNNaN111259NaNNaNNaNNaNNaNNaN
623010249766張嘉侑111121023.1285.00 89.3361.2384.3614正取14
63NaNNaNNaNNaN121358NaNNaNNaNNaNNaNNaN

先看一下欄位名稱

In [3]:
df.columns
Out[3]:
MultiIndex([(             '排 序',  'Unnamed: 0_level_1'),
            ( '學       測\n應試號碼',  'Unnamed: 1_level_1'),
            (            '考生姓名',  'Unnamed: 2_level_1'),
            (           '身分 代碼',  'Unnamed: 3_level_1'),
            (              '國文',                  '社會'),
            (              '英文',                  '自然'),
            (              '數學',                 '總級分'),
            (       '學科能力 測驗成績',  'Unnamed: 7_level_1'),
            ('審查資料          面試',  'Unnamed: 8_level_1'),
            (       '指定項目 甄試成績',  'Unnamed: 9_level_1'),
            (      '個人申請 總 成 績', 'Unnamed: 10_level_1'),
            (              '名次', 'Unnamed: 11_level_1'),
            (              '附註', 'Unnamed: 12_level_1')],
           )
In [4]:
# 把第2列的欄位清除掉
df.columns = df.columns.droplevel(level = 1)
df
Out[4]:
排 序學 測\n應試號碼考生姓名身分 代碼國文英文數學學科能力 測驗成績審查資料 面試指定項目 甄試成績個人申請 總 成 績名次附註
0110033861張俊嘉112111223.6281.00 83.6757.7681.3934不錄取,未達最低 錄取分數
1NaNNaNNaNNaN141160NaNNaNNaNNaNNaNNaN
2210110042黃穎萱1128132383.33 92.3361.9384.9312正取12
3NaNNaNNaNNaN141158NaNNaNNaNNaNNaNNaN
4310111172李鳳善11314822.8780.67 81.6756.8679.7441不錄取,未達最低 錄取分數
5NaNNaNNaNNaN111258NaNNaNNaNNaNNaNNaN
6410127348張慶松111121524.3784.67 89.006185.389正取9
7NaNNaNNaNNaN111160NaNNaNNaNNaNNaNNaN
8510129065李心怡112131024.1286.00 89.0061.485.538正取8
9NaNNaNNaNNaN131361NaNNaNNaNNaNNaNNaN
10610148374朱佩珊113121123.3781.00 85.3358.4381.8130不錄取,未達最低 錄取分數
11NaNNaNNaNNaN121159NaNNaNNaNNaNNaNNaN
12710159940杜怡婷113111424.581.00 85.6758.5683.0723不錄取,未達最低 錄取分數
13NaNNaNNaNNaN101260NaNNaNNaNNaNNaNNaN
14810163034彭緯聿112131124.3778.67 84.6757.4681.8429不錄取,未達最低 錄取分數
15NaNNaNNaNNaN121361NaNNaNNaNNaNNaNNaN
16910170573蕭惠君113121223.8777.67 84.0056.980.7837不錄取,未達最低 錄取分數
17NaNNaNNaNNaN121160NaNNaNNaNNaNNaNNaN
181010172046楊哲銘112131124.1280.33 85.0058.0982.2227不錄取,未達最低 錄取分數
19NaNNaNNaNNaN131261NaNNaNNaNNaNNaNNaN
201110173537李馨慧113131123.7584.67 86.3359.9383.6818不錄取,未達最低 錄取分數
21NaNNaNNaNNaN121160NaNNaNNaNNaNNaNNaN
221210178838何侑劭112131224.1285.67 0.0025.749.83##不錄取,未通過指 定項目檢定
23NaNNaNNaNNaN111260NaNNaNNaNNaNNaNNaN
241310181637洪青凱112141123.7581.33 84.3358.1381.8828不錄取,未達最低 錄取分數
25NaNNaNNaNNaN121160NaNNaNNaNNaNNaNNaN
26排 序學 測\n應試號碼考生姓名身分 代碼國文英文數學學科能力 測驗成績審查資料 面試指定項目 甄試成績個人申請 總 成 績名次附註
27NaNNaNNaNNaN社會自然總級分NaNNaNNaNNaNNaNNaN
281410195746毛彥志112141122.7580.67 85.0058.280.9535不錄取,未達最低 錄取分數
29NaNNaNNaNNaN12958NaNNaNNaNNaNNaNNaN
301510196244黃啟斌114131124.1280.67 81.3356.7380.8636不錄取,未達最低 錄取分數
31NaNNaNNaNNaN121161NaNNaNNaNNaNNaNNaN
321610208250吳向惟112131123.1286.67 88.0061.284.3315正取15
33NaNNaNNaNNaN111158NaNNaNNaNNaNNaNNaN
341710213841鄭宇瑄11212132480.33 81.6756.7680.7738不錄取,未達最低 錄取分數
35NaNNaNNaNNaN121160NaNNaNNaNNaNNaNNaN
361810214143李涵迪111121022.6281.33 77.6755.4678.0942不錄取,未達最低 錄取分數
37NaNNaNNaNNaN141158NaNNaNNaNNaNNaNNaN
381910218344陳如君11113822.587.67 91.3362.8385.3310正取10
39NaNNaNNaNNaN141258NaNNaNNaNNaNNaNNaN
402010221035陳慧發111121424.8783.00 85.6759.1684.0416不錄取,未達最低 錄取分數
41NaNNaNNaNNaN131262NaNNaNNaNNaNNaNNaN
422110221861王聖全113101223.8781.33 88.3359.7383.6119不錄取,未達最低 錄取分數
43NaNNaNNaNNaN131260NaNNaNNaNNaNNaNNaN
442210223472王芳羽112111123.6289.00 89.0062.385.934正取4
45NaNNaNNaNNaN141260NaNNaNNaNNaNNaNNaN
462310224674林凱鈞114111023.8785.67 84.0059.383.1822不錄取,未達最低 錄取分數
47NaNNaNNaNNaN141261NaNNaNNaNNaNNaNNaN
482410234247洪玟君11312822.6284.00 81.0057.680.2340不錄取,未達最低 錄取分數
49NaNNaNNaNNaN131258NaNNaNNaNNaNNaNNaN
502510235547張鈞元11281423.7582.33 83.3358.0381.7831不錄取,未達最低 錄取分數
51NaNNaNNaNNaN131259NaNNaNNaNNaNNaNNaN
522610240760葉誠妤11291223.3782.00 88.6760.0683.4420不錄取,未達最低 錄取分數
53NaNNaNNaNNaN121358NaNNaNNaNNaNNaNNaN
54排 序學 測\n應試號碼考生姓名身分 代碼國文英文數學學科能力 測驗成績審查資料 面試指定項目 甄試成績個人申請 總 成 績名次附註
55NaNNaNNaNNaN社會自然總級分NaNNaNNaNNaNNaNNaN
562710244938張立白111141123.3781.67 84.3358.2381.6133不錄取,未達最低 錄取分數
57NaNNaNNaNNaN121159NaNNaNNaNNaNNaNNaN
582810245260林宏成11312822.3787.67 86.6760.9683.3421不錄取,未達最低 錄取分數
59NaNNaNNaNNaN141158NaNNaNNaNNaNNaNNaN
602910247745許靖雯113111223.7586.00 88.6761.2685.0211正取11
61NaNNaNNaNNaN111259NaNNaNNaNNaNNaNNaN
623010249766張嘉侑111121023.1285.00 89.3361.2384.3614正取14
63NaNNaNNaNNaN121358NaNNaNNaNNaNNaNNaN
In [5]:
# 先把欄位名稱中的「空格」及「跳行」用「_」取代,再將「_」刪除
df.columns = df.columns.str.replace(' |\n', '_').str.replace('_', '')
df.columns
Out[5]:
Index(['排序', '學測應試號碼', '考生姓名', '身分代碼', '國文', '英文', '數學', '學科能力測驗成績', '審查資料面試',
       '指定項目甄試成績', '個人申請總成績', '名次', '附註'],
      dtype='object')
In [6]:
df.head()
Out[6]:
排序學測應試號碼考生姓名身分代碼國文英文數學學科能力測驗成績審查資料面試指定項目甄試成績個人申請總成績名次附註
0110033861張俊嘉112111223.6281.00 83.6757.7681.3934不錄取,未達最低 錄取分數
1NaNNaNNaNNaN141160NaNNaNNaNNaNNaNNaN
2210110042黃穎萱1128132383.33 92.3361.9384.9312正取12
3NaNNaNNaNNaN141158NaNNaNNaNNaNNaNNaN
4310111172李鳳善11314822.8780.67 81.6756.8679.7441不錄取,未達最低 錄取分數
In [7]:
# 接下來將「1、3、5……等列」的「排序」、「學測應試號碼」以前1列的值取代「NaN」
df['排序'] = df['排序'].fillna(method = 'ffill')
df['學測應試號碼'] = df['學測應試號碼'].fillna(method = 'ffill')
df.head()
Out[7]:
排序學測應試號碼考生姓名身分代碼國文英文數學學科能力測驗成績審查資料面試指定項目甄試成績個人申請總成績名次附註
0110033861張俊嘉112111223.6281.00 83.6757.7681.3934不錄取,未達最低 錄取分數
1110033861NaNNaN141160NaNNaNNaNNaNNaNNaN
2210110042黃穎萱1128132383.33 92.3361.9384.9312正取12
3210110042NaNNaN141158NaNNaNNaNNaNNaNNaN
4310111172李鳳善11314822.8780.67 81.6756.8679.7441不錄取,未達最低 錄取分數
In [8]:
# 將「排序」不是數字的刪除掉
df = df[df['排序'].astype(str).str.isdigit()]
print(len(df))
df
60
Out[8]:
排序學測應試號碼考生姓名身分代碼國文英文數學學科能力測驗成績審查資料面試指定項目甄試成績個人申請總成績名次附註
0110033861張俊嘉112111223.6281.00 83.6757.7681.3934不錄取,未達最低 錄取分數
1110033861NaNNaN141160NaNNaNNaNNaNNaNNaN
2210110042黃穎萱1128132383.33 92.3361.9384.9312正取12
3210110042NaNNaN141158NaNNaNNaNNaNNaNNaN
4310111172李鳳善11314822.8780.67 81.6756.8679.7441不錄取,未達最低 錄取分數
5310111172NaNNaN111258NaNNaNNaNNaNNaNNaN
6410127348張慶松111121524.3784.67 89.006185.389正取9
7410127348NaNNaN111160NaNNaNNaNNaNNaNNaN
8510129065李心怡112131024.1286.00 89.0061.485.538正取8
9510129065NaNNaN131361NaNNaNNaNNaNNaNNaN
10610148374朱佩珊113121123.3781.00 85.3358.4381.8130不錄取,未達最低 錄取分數
11610148374NaNNaN121159NaNNaNNaNNaNNaNNaN
12710159940杜怡婷113111424.581.00 85.6758.5683.0723不錄取,未達最低 錄取分數
13710159940NaNNaN101260NaNNaNNaNNaNNaNNaN
14810163034彭緯聿112131124.3778.67 84.6757.4681.8429不錄取,未達最低 錄取分數
15810163034NaNNaN121361NaNNaNNaNNaNNaNNaN
16910170573蕭惠君113121223.8777.67 84.0056.980.7837不錄取,未達最低 錄取分數
17910170573NaNNaN121160NaNNaNNaNNaNNaNNaN
181010172046楊哲銘112131124.1280.33 85.0058.0982.2227不錄取,未達最低 錄取分數
191010172046NaNNaN131261NaNNaNNaNNaNNaNNaN
201110173537李馨慧113131123.7584.67 86.3359.9383.6818不錄取,未達最低 錄取分數
211110173537NaNNaN121160NaNNaNNaNNaNNaNNaN
221210178838何侑劭112131224.1285.67 0.0025.749.83##不錄取,未通過指 定項目檢定
231210178838NaNNaN111260NaNNaNNaNNaNNaNNaN
241310181637洪青凱112141123.7581.33 84.3358.1381.8828不錄取,未達最低 錄取分數
251310181637NaNNaN121160NaNNaNNaNNaNNaNNaN
281410195746毛彥志112141122.7580.67 85.0058.280.9535不錄取,未達最低 錄取分數
291410195746NaNNaN12958NaNNaNNaNNaNNaNNaN
301510196244黃啟斌114131124.1280.67 81.3356.7380.8636不錄取,未達最低 錄取分數
311510196244NaNNaN121161NaNNaNNaNNaNNaNNaN
321610208250吳向惟112131123.1286.67 88.0061.284.3315正取15
331610208250NaNNaN111158NaNNaNNaNNaNNaNNaN
341710213841鄭宇瑄11212132480.33 81.6756.7680.7738不錄取,未達最低 錄取分數
351710213841NaNNaN121160NaNNaNNaNNaNNaNNaN
361810214143李涵迪111121022.6281.33 77.6755.4678.0942不錄取,未達最低 錄取分數
371810214143NaNNaN141158NaNNaNNaNNaNNaNNaN
381910218344陳如君11113822.587.67 91.3362.8385.3310正取10
391910218344NaNNaN141258NaNNaNNaNNaNNaNNaN
402010221035陳慧發111121424.8783.00 85.6759.1684.0416不錄取,未達最低 錄取分數
412010221035NaNNaN131262NaNNaNNaNNaNNaNNaN
422110221861王聖全113101223.8781.33 88.3359.7383.6119不錄取,未達最低 錄取分數
432110221861NaNNaN131260NaNNaNNaNNaNNaNNaN
442210223472王芳羽112111123.6289.00 89.0062.385.934正取4
452210223472NaNNaN141260NaNNaNNaNNaNNaNNaN
462310224674林凱鈞114111023.8785.67 84.0059.383.1822不錄取,未達最低 錄取分數
472310224674NaNNaN141261NaNNaNNaNNaNNaNNaN
482410234247洪玟君11312822.6284.00 81.0057.680.2340不錄取,未達最低 錄取分數
492410234247NaNNaN131258NaNNaNNaNNaNNaNNaN
502510235547張鈞元11281423.7582.33 83.3358.0381.7831不錄取,未達最低 錄取分數
512510235547NaNNaN131259NaNNaNNaNNaNNaNNaN
522610240760葉誠妤11291223.3782.00 88.6760.0683.4420不錄取,未達最低 錄取分數
532610240760NaNNaN121358NaNNaNNaNNaNNaNNaN
562710244938張立白111141123.3781.67 84.3358.2381.6133不錄取,未達最低 錄取分數
572710244938NaNNaN121159NaNNaNNaNNaNNaNNaN
582810245260林宏成11312822.3787.67 86.6760.9683.3421不錄取,未達最低 錄取分數
592810245260NaNNaN141158NaNNaNNaNNaNNaNNaN
602910247745許靖雯113111223.7586.00 88.6761.2685.0211正取11
612910247745NaNNaN111259NaNNaNNaNNaNNaNNaN
623010249766張嘉侑111121023.1285.00 89.3361.2384.3614正取14
633010249766NaNNaN121358NaNNaNNaNNaNNaNNaN

接下來要將0、2、4 ……等列篩選出來,另外將1、3、5 ……列篩選出來。

In [9]:
df1 = df.iloc[::2]
df1.head()
Out[9]:
排序學測應試號碼考生姓名身分代碼國文英文數學學科能力測驗成績審查資料面試指定項目甄試成績個人申請總成績名次附註
0110033861張俊嘉112111223.6281.00 83.6757.7681.3934不錄取,未達最低 錄取分數
2210110042黃穎萱1128132383.33 92.3361.9384.9312正取12
4310111172李鳳善11314822.8780.67 81.6756.8679.7441不錄取,未達最低 錄取分數
6410127348張慶松111121524.3784.67 89.006185.389正取9
8510129065李心怡112131024.1286.00 89.0061.485.538正取8
In [10]:
df2 = df.iloc[1::2]
df2.head()
Out[10]:
排序學測應試號碼考生姓名身分代碼國文英文數學學科能力測驗成績審查資料面試指定項目甄試成績個人申請總成績名次附註
1110033861NaNNaN141160NaNNaNNaNNaNNaNNaN
3210110042NaNNaN141158NaNNaNNaNNaNNaNNaN
5310111172NaNNaN111258NaNNaNNaNNaNNaNNaN
7410127348NaNNaN111160NaNNaNNaNNaNNaNNaN
9510129065NaNNaN131361NaNNaNNaNNaNNaNNaN
In [11]:
# 將df2只留
df2 = df2[['排序', '學測應試號碼', '國文', '英文', '數學']]

# 然後將欄名改成['排序', '學測應試號碼', '社會', '自然', '總級分']
df2.columns = ['排序', '學測應試號碼', '社會', '自然', '總級分']

df2.head()
Out[11]:
排序學測應試號碼社會自然總級分
1110033861141160
3210110042141158
5310111172111258
7410127348111160
9510129065131361

將df1和df2串接

In [12]:
df_final = pd.merge(df1, df2, on = ['排序', '學測應試號碼'], how = 'left')
df_final
Out[12]:
排序學測應試號碼考生姓名身分代碼國文英文數學學科能力測驗成績審查資料面試指定項目甄試成績個人申請總成績名次附註社會自然總級分
0110033861張俊嘉112111223.6281.00 83.6757.7681.3934不錄取,未達最低 錄取分數141160
1210110042黃穎萱1128132383.33 92.3361.9384.9312正取12141158
2310111172李鳳善11314822.8780.67 81.6756.8679.7441不錄取,未達最低 錄取分數111258
3410127348張慶松111121524.3784.67 89.006185.389正取9111160
4510129065李心怡112131024.1286.00 89.0061.485.538正取8131361
5610148374朱佩珊113121123.3781.00 85.3358.4381.8130不錄取,未達最低 錄取分數121159
6710159940杜怡婷113111424.581.00 85.6758.5683.0723不錄取,未達最低 錄取分數101260
7810163034彭緯聿112131124.3778.67 84.6757.4681.8429不錄取,未達最低 錄取分數121361
8910170573蕭惠君113121223.8777.67 84.0056.980.7837不錄取,未達最低 錄取分數121160
91010172046楊哲銘112131124.1280.33 85.0058.0982.2227不錄取,未達最低 錄取分數131261
101110173537李馨慧113131123.7584.67 86.3359.9383.6818不錄取,未達最低 錄取分數121160
111210178838何侑劭112131224.1285.67 0.0025.749.83##不錄取,未通過指 定項目檢定111260
121310181637洪青凱112141123.7581.33 84.3358.1381.8828不錄取,未達最低 錄取分數121160
131410195746毛彥志112141122.7580.67 85.0058.280.9535不錄取,未達最低 錄取分數12958
141510196244黃啟斌114131124.1280.67 81.3356.7380.8636不錄取,未達最低 錄取分數121161
151610208250吳向惟112131123.1286.67 88.0061.284.3315正取15111158
161710213841鄭宇瑄11212132480.33 81.6756.7680.7738不錄取,未達最低 錄取分數121160
171810214143李涵迪111121022.6281.33 77.6755.4678.0942不錄取,未達最低 錄取分數141158
181910218344陳如君11113822.587.67 91.3362.8385.3310正取10141258
192010221035陳慧發111121424.8783.00 85.6759.1684.0416不錄取,未達最低 錄取分數131262
202110221861王聖全113101223.8781.33 88.3359.7383.6119不錄取,未達最低 錄取分數131260
212210223472王芳羽112111123.6289.00 89.0062.385.934正取4141260
222310224674林凱鈞114111023.8785.67 84.0059.383.1822不錄取,未達最低 錄取分數141261
232410234247洪玟君11312822.6284.00 81.0057.680.2340不錄取,未達最低 錄取分數131258
242510235547張鈞元11281423.7582.33 83.3358.0381.7831不錄取,未達最低 錄取分數131259
252610240760葉誠妤11291223.3782.00 88.6760.0683.4420不錄取,未達最低 錄取分數121358
262710244938張立白111141123.3781.67 84.3358.2381.6133不錄取,未達最低 錄取分數121159
272810245260林宏成11312822.3787.67 86.6760.9683.3421不錄取,未達最低 錄取分數141158
282910247745許靖雯113111223.7586.00 88.6761.2685.0211正取11111259
293010249766張嘉侑111121023.1285.00 89.3361.2384.3614正取14121358

調整欄位順序,將['社會', '自然', '總級分']放到「數學」後面

In [13]:
cols = df_final.columns.tolist()
cols
Out[13]:
['排序',
 '學測應試號碼',
 '考生姓名',
 '身分代碼',
 '國文',
 '英文',
 '數學',
 '學科能力測驗成績',
 '審查資料面試',
 '指定項目甄試成績',
 '個人申請總成績',
 '名次',
 '附註',
 '社會',
 '自然',
 '總級分']
In [14]:
cols = cols[:7] + cols[-3:] + cols[7:13]
cols
Out[14]:
['排序',
 '學測應試號碼',
 '考生姓名',
 '身分代碼',
 '國文',
 '英文',
 '數學',
 '社會',
 '自然',
 '總級分',
 '學科能力測驗成績',
 '審查資料面試',
 '指定項目甄試成績',
 '個人申請總成績',
 '名次',
 '附註']
In [15]:
df_final = df_final[cols]
df_final.head()
Out[15]:
排序學測應試號碼考生姓名身分代碼國文英文數學社會自然總級分學科能力測驗成績審查資料面試指定項目甄試成績個人申請總成績名次附註
0110033861張俊嘉112111214116023.6281.00 83.6757.7681.3934不錄取,未達最低 錄取分數
1210110042黃穎萱1128131411582383.33 92.3361.9384.9312正取12
2310111172李鳳善11314811125822.8780.67 81.6756.8679.7441不錄取,未達最低 錄取分數
3410127348張慶松111121511116024.3784.67 89.006185.389正取9
4510129065李心怡112131013136124.1286.00 89.0061.485.538正取8

接下來將「審查資料面試」拆成「審查資料」和「面試」2個成績,再把「審查資料面試」刪除

In [16]:
df_final.insert(11, '審查資料', df_final['審查資料面試'].copy().str[:5])
df_final.insert(12, '面試', df_final['審查資料面試'].copy().str[-5:])

df_final = df_final.drop(columns = '審查資料面試')
df_final.head()
Out[16]:
排序學測應試號碼考生姓名身分代碼國文英文數學社會自然總級分學科能力測驗成績審查資料面試指定項目甄試成績個人申請總成績名次附註
0110033861張俊嘉112111214116023.6281.0083.6757.7681.3934不錄取,未達最低 錄取分數
1210110042黃穎萱1128131411582383.3392.3361.9384.9312正取12
2310111172李鳳善11314811125822.8780.6781.6756.8679.7441不錄取,未達最低 錄取分數
3410127348張慶松111121511116024.3784.6789.006185.389正取9
4510129065李心怡112131013136124.1286.0089.0061.485.538正取8
In [ ]:
 

【公告】網站遷移,未來內容將發表於新網站!!

 受限於blogger本身架構與限制,本網站所有內容已遷移至新網站,網址如下: https://kuo.us.to/wordpress/