国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Python在學生成績分析中的應用

2021-06-16 16:43:06王亞麗岳雷
電子技術與軟件工程 2021年4期
關鍵詞:分數(shù)段全校代碼

王亞麗 岳雷

(1.太原旅游職業(yè)學院 山西省太原市 030032 2.太原師范學院附屬中學 山西省太原市 030001)

Python 語言具有簡單易學、擁有豐富的第三方庫等特點,使得Python 在網(wǎng)絡爬蟲、機器學習、網(wǎng)站開發(fā)、數(shù)據(jù)分析等方面應用非常廣泛。而且它免費開源,使得很多用戶都開始使用并推廣。本文使用Python 對學生成績進行了導入、數(shù)據(jù)的清洗、數(shù)據(jù)的統(tǒng)計分析同時進行了可視化分析。

1 問題描述

本文以統(tǒng)計分析各個班學生成績?yōu)榘咐?,統(tǒng)計分析得出:

(1)某個學生各門科目的班排名和校排名;

(2)各個班每個分數(shù)段的人數(shù)占比情況和全校各分數(shù)段人數(shù)占比情況;

(3)某學生的成績縱向分析;

(4)基礎課成績和總分之間的相關性分析。以Excel 文檔作為數(shù)據(jù)源進行數(shù)據(jù)讀取。

2 數(shù)據(jù)的導入

本案例是基于表1 score.xls 進行分析的,因此就需要在pycharm 中將Excel 中的收據(jù)導入進來。數(shù)據(jù)導入使用pandas 中的read_excel()讀取數(shù)據(jù)即可。代碼如下:

3 數(shù)據(jù)預處理

Python 的第三方庫pandas 庫擁有強大的數(shù)據(jù)清理功能,可以對導入的缺失數(shù)據(jù)進行高效填補和替換,對異常數(shù)據(jù)進行查詢、刪除[1]等。本文首先對導入的數(shù)據(jù)進行初步判斷,使用pandas.shape查看數(shù)據(jù)的形狀,一共有15083 行,15 列數(shù)據(jù)。

通過data.isnull().any()顯示哪些列存在缺失值,運行結果顯示語文、物理列有缺失值,然后使用data.fillna(0)將缺失值填充為0。

查看數(shù)據(jù)框中各列中的數(shù)據(jù)類型是否是int,若不是則需要處理。對于數(shù)據(jù)類型不一致的列拋出列名,以便進行下一步處理。代碼如下:

運行結果顯示準考證號、姓名、年級、科類、語文、數(shù)學、物理、考試時間等列不是int 格式,其中準考證號、姓名、年級、科類、考試方式列不需要做處理,使用astype()函數(shù)將其他列轉換為int 類型,運行結果會發(fā)現(xiàn)數(shù)學列有休學的,語文列有缺考的,物理列有作弊的。

使用replace()函數(shù)將作弊、缺考、休學的成績清0。代碼如下:

將考試時間18.10月、18.11月、…、2020.12月依次替換為數(shù)字(0,1,…,18),使用的語句如下:

4 數(shù)據(jù)分析

在完成了數(shù)據(jù)的清洗后,就可以使用python 中第三方庫的各種統(tǒng)計函數(shù)對學生成績進行統(tǒng)計分析了。其中Pandas 庫中提供了很多比如標準差、方差、分組分析、對比分析等函數(shù),對于數(shù)據(jù)分析處理非常高效且便捷。

表1:學生成績表score.xls 的數(shù)據(jù)結構

表2:各個班以及全校的總分分數(shù)段人數(shù)占比情況

圖1:各個班各總分分數(shù)段人數(shù)占比

圖2:全校各總分分數(shù)段占比

圖3:樊佳玥同學歷次的語文成績

圖4:基礎課和總分之間的關系

(1)使用groupby()函數(shù)和rank()函數(shù)計算某個學生各門科目的班排名和校排名

data2['語文班排名']=data2.groupby(['班級','考試時間'])['語文'].rank(ascending=False,method='dense')

data2['語文校排名']=data2.groupby(['考試時間'])['語文'].rank(ascending=False,method='dense')

類似的方法可以計算某個學生的總分班排名和校排名,代碼如下:

(2)如表2 所示,利用pandas 中的cut()、pivot_table()方法計算各個班的總分進行分段劃分和各分段人數(shù)情況統(tǒng)計,再使用div()方法可計算出各個班每個分數(shù)段的人數(shù)占比情況,同時用計算總分的方法可以計算全校各分段人數(shù)統(tǒng)計和全校各分段人數(shù)占比情況,核心代碼如下:

(3)某學生的成績縱向分析:(以樊佳玥同學的語文成績?yōu)槔?/p>

首先從10000 多條數(shù)據(jù)中將樊佳玥同學的成績抽取出來,抽取出來之后再以考試時間為橫坐標,畫出該同學的折線圖。抽取代碼為:data2[data2['準考證號']==220109038]

(4)采用corr()計算每門課程的成績與總分的關聯(lián)度,最后采用熱力圖進行展示。

5 數(shù)據(jù)可視化

對數(shù)據(jù)進行統(tǒng)計分析后,為了使分析結果更加直觀,本文采用了matplotlib 庫和seaborn 庫中的方法進行了可視化展示。核心代碼如下:

#基礎課成績與總分之間的相關性

sn.heatmap(data2.loc[:,['語文','數(shù)學','英語','物理','生物','化學','歷史','地理','政治','總分']].corr())

6 結果分析

本文以某高中學生的成績?yōu)槔玫礁鱾€班總分分數(shù)段人數(shù)占比情況和整個學校的各分數(shù)段人數(shù)占比情況,通過各班分數(shù)的橫向?qū)Ρ?,學校的教輔人員可以很好的了解班之間的差別和各班的優(yōu)勢;還得到某學生某門科目的縱向成績比較,發(fā)現(xiàn)該同學的成績趨于穩(wěn)定;最后分析了基礎課和總分之間的相關性,顏色越淺表示相關性越強,可以看到總分與生物、英語、政治、歷史的相關性更強一些,這樣為學校的決策者提供了有力的數(shù)據(jù)支撐。

7 結束語

綜上所述,Python 語言語法簡單、免費開源且擁有強大的類庫,使用Python 進行數(shù)據(jù)分析操作簡單、便捷和高效。本文使用Python 語言對學生成績進行了若干分析,為相關教育工作者進行成績處理提供了思路。關于Python 在其他數(shù)據(jù)分析方面的應用,還需要我們不斷的實踐和探索。

猜你喜歡
分數(shù)段全校代碼
山西省2022年對口升學各專業(yè)類考生分數(shù)段及院校投檔線
2021年對口升學部分專業(yè)類考生分數(shù)段及院校投檔線
合伙教育,家校共育——在考試后全校家長會上的廣播講話
教書育人(2020年11期)2020-11-26 06:00:12
2019年對口升學部分專業(yè)類考生分數(shù)段及院校投檔線
2018年對口升學部分專業(yè)類考生分數(shù)段及院校投檔線
創(chuàng)世代碼
動漫星空(2018年11期)2018-10-26 02:24:02
創(chuàng)世代碼
動漫星空(2018年2期)2018-10-26 02:11:00
創(chuàng)世代碼
動漫星空(2018年9期)2018-10-26 01:16:48
創(chuàng)世代碼
動漫星空(2018年5期)2018-10-26 01:15:02
開會
宝丰县| 霍山县| 平阴县| 年辖:市辖区| 额敏县| 兴隆县| 文化| 临夏市| 桓台县| 兰州市| 灵丘县| 尉氏县| 永兴县| 芦山县| 佛坪县| 贵德县| 正定县| 邻水| 永善县| 昭苏县| 聂荣县| 巴南区| 浦江县| 巨鹿县| 鄯善县| 五华县| 澎湖县| 衢州市| 福贡县| 绥滨县| 凤山市| 浦城县| 玛曲县| 黑山县| 石阡县| 文成县| 宣恩县| 赫章县| 桂林市| 洛隆县| 宾阳县|