呂瀧,王毅飛,李曉燕
基于Python的高職課堂智能手機(jī)使用情況數(shù)據(jù)分析*
呂瀧,王毅飛,李曉燕
(重慶公共運(yùn)輸職業(yè)學(xué)院,重慶 402247)
科學(xué)的決策往往是建立在數(shù)據(jù)之上,對數(shù)據(jù)進(jìn)行科學(xué)、有效地分析,將有助于更好地解決問題。傳統(tǒng)數(shù)據(jù)分析一般采用Matlab、Excel等工具,并實(shí)現(xiàn)數(shù)據(jù)可視化。但存在開發(fā)效率低、數(shù)據(jù)結(jié)構(gòu)與函數(shù)匱乏、不便于科學(xué)計(jì)算等缺點(diǎn)。因此,采用目前最主流的Python語言,利用其Pandas庫進(jìn)行數(shù)據(jù)處理與分析,并利用Matplotlib庫實(shí)現(xiàn)分析結(jié)果的可視化。
Python;數(shù)據(jù)可視化;智能手機(jī)管理;數(shù)據(jù)分析
隨著科技的進(jìn)步、社會的發(fā)展,智能手機(jī)對人們的生活產(chǎn)生了非常重要的影響,包括入駐在象牙塔中的各位莘莘學(xué)子也不能避免。目前,智能手機(jī)在給大學(xué)生帶來便利與樂趣的同時,也日益對他們的課堂專注度、學(xué)習(xí)方式、學(xué)習(xí)工具、教學(xué)反饋方式等帶來影響。
通過本院內(nèi)采集的課堂智能手機(jī)使用情況數(shù)據(jù),利用Python程序進(jìn)行分析,希望找到有效的管理方式。Python語言是目前最流行的數(shù)據(jù)分析并能將結(jié)果可視化的工具,將有助于本次研究分析與結(jié)果展示。
原始數(shù)據(jù)為Excel文件,Python程序要讀取,需要借助自帶或第三方庫來實(shí)現(xiàn)。Python常用讀取與處理Excel文件的模塊包含Pandas,xlwt、xlrd和Openpyxl模塊。
本論文采用Pandas模塊,直接讀取Excel文件數(shù)據(jù),并轉(zhuǎn)為DataFrame的格式。
首先需要導(dǎo)入Pandas模塊。
數(shù)據(jù)讀取部分代碼:
import pandas as pd
f = r'C:UsersAdministratorDesktopgithubpython-project重慶公共運(yùn)輸職業(yè)學(xué)院課堂手機(jī)使用情況.xlsx'
df = pd.read_excel(f)
Pandas是一個強(qiáng)大的分析結(jié)構(gòu)化數(shù)據(jù)的工具集,它的使用基礎(chǔ)是Numpy(提供高性能的矩陣運(yùn)算),用于數(shù)據(jù)挖掘和數(shù)據(jù)分析,同時也提供數(shù)據(jù)清洗功能。
Pandas納入了大量庫和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供了高效操作大型數(shù)據(jù)集所需的工具。Pandas提供了大量快速便捷地處理數(shù)據(jù)的函數(shù)和方法。
Pandas庫的使用:利用Pandas DataFrame.shift(periods,axis)函數(shù)求增長率,該函數(shù)可以把數(shù)據(jù)移動指定的位數(shù)。period參數(shù)指定移動的步幅,可以為正為負(fù).axis指定移動的軸,1為行,0為列。
NumPy是Python的一種開源的數(shù)值計(jì)算擴(kuò)展,這種工具可用來存儲和處理大型矩陣,其高效且支持大量的維度數(shù)組與矩陣運(yùn)算,此外也針對數(shù)組運(yùn)算提供大量的數(shù)學(xué)函 數(shù)庫。
Numpy庫的使用:提供了Python對多維數(shù)組對象的支持;ndarray具有矢量運(yùn)算能力,快速節(jié)省空間;numpy支持高級大量的維度數(shù)組與矩陣運(yùn)算,此外也對數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫。
利用numpy.std() 求標(biāo)準(zhǔn)差。
數(shù)據(jù)處理代碼如下:
df.columns = ['0',"教師管理增長率","學(xué)生管理增長率","制度管理增長率"]
df.index = df.values[:,0]
df.drop(['0'],axis=1,inplace=True)
計(jì)算不同管理方式手機(jī)使用月增長率:
df1 = df.shift(1)
計(jì)算不同管理方式手機(jī)使用月平均使用率:
df.mean()
計(jì)算不同管理方式手機(jī)使用使用率方差:
df.std()
可視化是數(shù)據(jù)科學(xué)中很重要的一個步驟,能為結(jié)果和過程提供一個非常好的展示效果,提升可信度。在Python中matolotlib是一個非常強(qiáng)大的圖形庫。
Matplotlib是Python最著名的數(shù)據(jù)可視化工具包,有了它,一些統(tǒng)計(jì)上常用的圖形如折線圖、散點(diǎn)圖、直方圖等都可以用簡單的幾行Python代碼實(shí)現(xiàn)。
Matplotlib庫的使用:Matplotlib是受Matlab的啟發(fā)構(gòu)建的,而Matlab又是數(shù)據(jù)繪圖領(lǐng)域廣泛使用的語言和工具。
導(dǎo)入過程為:import matplotlib.pyplot as plt。
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用來正常顯示中文標(biāo)簽。
plt.rcParams['axes.unicode_minus'] = False # 用來正常顯示負(fù)號。
df.plot(kind='bar')
根據(jù)不同管理方式手機(jī)使用率繪制柱狀圖,如圖1所示。
圖1 根據(jù)不同管理方式手機(jī)使用率繪制柱狀圖
df1.plot()
管理增長率趨勢如圖2所示。
圖2 管理增長率趨勢圖
從總體數(shù)據(jù)上看,所分的三個不同管理維度中,學(xué)生自我控制實(shí)現(xiàn)課堂智能手機(jī)管理是比較難的,增長率與使用率攀升迅速,學(xué)生課堂玩手機(jī)現(xiàn)象頻繁,部分大學(xué)生難以抵擋智能手機(jī)的誘惑變成課堂“低頭族”;教師對課堂秩序管控能起到一定的作用,但需要課中嚴(yán)格做到“管堵防”;通過制度性管理,可讓手機(jī)成為媒介、工具、橋梁,實(shí)現(xiàn)有效控制的目的。
[1]侯波濤.基于python的通信系統(tǒng)數(shù)據(jù)分析[J].通信技術(shù),2020,53(7):1715-1720.
[2]何佳,惠建忠,王曙東,等.Python在CINRAD風(fēng)暴數(shù)據(jù)可視化中的應(yīng)用[J].氣象科技,2020,48(3):374-379.
[3]羅博煒.基于Python的數(shù)據(jù)可視化[J].信息記錄材料,2019,20(12):72-74.
2095-6835(2021)06-0072-02
G712.4
A
10.15913/j.cnki.kjycx.2021.06.025
呂瀧(1988—),男,本科,講師,研究方向?yàn)閿?shù)據(jù)分析與人工智能交易。王毅飛(1987—),重慶師范大學(xué)法學(xué)碩士,講師,研究方向教學(xué)質(zhì)量提升的方法與途徑。
重慶公共運(yùn)輸職業(yè)學(xué)院教育教學(xué)改革研究項(xiàng)目(編號:YSJG20180511)成果之一
〔編輯:張思楠〕