




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
***********學(xué)院教案課程名稱:Python數(shù)據(jù)分析與可視化項目實戰(zhàn)授課班級:****************************************授課時間:***********學(xué)年第1學(xué)期第1周至第2周共16周總學(xué)時64-96周學(xué)時4-6任課教師:***************PAGEPAGE9教案2:Pandas之大學(xué)生體測數(shù)據(jù)分析一、教學(xué)設(shè)計課程名稱數(shù)據(jù)分析授課班級大數(shù)據(jù)2201、2202軟件2201、2202、2203、2204授課時數(shù)6學(xué)時授課人數(shù)人授課地點(diǎn)1304、1306授課方式教學(xué)做一體學(xué)習(xí)項目Pandas之大學(xué)生體測數(shù)據(jù)分析所選教材《Python數(shù)據(jù)分析與可視化實戰(zhàn)》教學(xué)內(nèi)容Python環(huán)境配置及turtle繪圖教學(xué)目標(biāo)素質(zhì)目標(biāo)1.培養(yǎng)數(shù)據(jù)處理的系統(tǒng)思維和問題解決能力。2.培養(yǎng)團(tuán)隊合作和溝通能力知識目標(biāo)1.熟悉Pandas庫的索引查詢篩選操作2.學(xué)習(xí)Pandas進(jìn)行數(shù)據(jù)刪除等操作3.掌握Pandas庫中常用的數(shù)據(jù)匯總方法4.學(xué)會利用Pandas對數(shù)據(jù)進(jìn)行分析統(tǒng)計能力目標(biāo)1.能夠熟練運(yùn)用Pandas庫中的函數(shù)和方法完成數(shù)據(jù)處理任務(wù)2.能夠根據(jù)需求對數(shù)據(jù)進(jìn)行適當(dāng)?shù)霓D(zhuǎn)換和計算,如數(shù)據(jù)合并、分組和聚合等3.具備解決實際問題的能力,包括數(shù)據(jù)篩選、排序、統(tǒng)計等教學(xué)重難點(diǎn)重點(diǎn)難點(diǎn)教學(xué)方法教法任務(wù)驅(qū)動教法、情景化教法、差異化教法、討論式教法學(xué)法自主式學(xué)習(xí)、協(xié)作式學(xué)習(xí)、體驗式學(xué)習(xí)、探究式學(xué)習(xí)教學(xué)設(shè)計思路及知識導(dǎo)圖教學(xué)實施教學(xué)環(huán)節(jié)時間分配教學(xué)內(nèi)容及時間分配教學(xué)平臺資源課前課前導(dǎo)學(xué)1.完成課前學(xué)習(xí)問卷調(diào)查;2.觀看視頻;3.課前自學(xué)測試及問卷;課中項目介紹(5mins)大學(xué)生體質(zhì)水平的高低是反映一個國家“軟實力”的重要標(biāo)志。隨著科技的高度發(fā)展,近十幾年來中國一直熱議的大學(xué)生體質(zhì)健康逐年下降問題依然是當(dāng)下嚴(yán)峻的問題。據(jù)最近新聞報道,根據(jù)《中國大學(xué)生體質(zhì)監(jiān)測發(fā)展歷程》,國家體育總局體育科學(xué)研究所研究員江崇民介紹,我國大學(xué)生體質(zhì)依然呈下降趨勢,只是下降速度趨緩。身體素質(zhì)的發(fā)展對增強(qiáng)大學(xué)生的體質(zhì)健康,掌握運(yùn)動技能,提高運(yùn)動水平具有重要的意義。從2014年教育部發(fā)布《國家學(xué)生體質(zhì)健康標(biāo)準(zhǔn)(2014年修訂)》并要求各學(xué)校積極開展全范圍覆蓋,將學(xué)生體質(zhì)測試納入學(xué)生整體素質(zhì)的考核中,說明了大學(xué)生整體的健康水平已經(jīng)受到國家的高度重視。通過對大學(xué)生進(jìn)行體質(zhì)測試,并進(jìn)行科學(xué)數(shù)據(jù)分析,了解大學(xué)生體質(zhì)健康狀況,為進(jìn)一步改進(jìn)和提高高校大學(xué)生體質(zhì)健康狀況提供有效的參考和查閱依據(jù)。為此,某高校統(tǒng)計了各學(xué)院大學(xué)生體測數(shù)據(jù),來分析大學(xué)生體質(zhì)健康狀況。下面我們就來學(xué)習(xí)如何使用Python來進(jìn)行大學(xué)生體測數(shù)據(jù)分析,學(xué)習(xí)數(shù)據(jù)分析的相關(guān)知識。任務(wù)準(zhǔn)備(80mins)1、查詢特定條件的數(shù)據(jù)1.1導(dǎo)入文件在進(jìn)行數(shù)據(jù)查詢之前,需要先導(dǎo)入文件。但是一個Excel文件中有多個sheet表要怎么進(jìn)行查看呢?例如統(tǒng)計人員想查看體測數(shù)據(jù)工作簿的不同學(xué)院的分表表名,可以使用pd.ExcelFile進(jìn)行提取,與pd.read_excel區(qū)別不大,前者可以通過.sheet_names函數(shù)獲取包含所有sheet的列表基本格式為:pd.ExcelFile(‘文件名’)1.2篩選數(shù)據(jù)有時候,為了篩選出“符合某些條件”的數(shù)據(jù),需要對指定范圍進(jìn)行條件篩選。分為單一條件篩選、多條件篩選和綜合篩選。當(dāng)存在多個條件時,每個條件最好都使用括號括起來,如果其中兩個條件是“或”關(guān)系,那么使用邏輯或符號“|”來連接它們;如果兩個條件的關(guān)系是“與”關(guān)系,那么就要用邏輯與符號“&”來連接它們。在Pandas中,上文中介紹的所有條件形式都可以進(jìn)行任意的排列組合。2、合并表格數(shù)據(jù)2.1縱向拼接縱向拼接也稱為垂直拼接或行拼接,是指將兩個或多個具有相同列結(jié)構(gòu)的數(shù)據(jù)集按照行的方向進(jìn)行拼接。在縱向拼接中,數(shù)據(jù)集會按照順序逐行堆疊在一起。實現(xiàn)數(shù)據(jù)的縱向拼接,一共有2個方法。第一個方法是append(),第二個方法是concat()。2.2橫向拼接橫向拼接也稱為水平拼接或列拼接,是指將兩個或多個具有相同行索引的數(shù)據(jù)集按照列的方向進(jìn)行拼接。在橫向拼接中,數(shù)據(jù)集會按照列的順序逐列連接在一起??梢允褂胏oncat()函數(shù)merge()函數(shù)進(jìn)行橫向拼接,具體使用哪種方法取決于數(shù)據(jù)集的特點(diǎn)和需求。2.3sheet拼接當(dāng)處理包含多個sheet的Excel文件時,有時需要將多個sheet拼接為一個表格3、刪除列數(shù)據(jù)在數(shù)據(jù)處理過程中,有時我們需要刪除數(shù)據(jù)集中的某些行或列,以便進(jìn)行進(jìn)一步的分析和處理。例如合并后的大學(xué)生體測數(shù)據(jù)表中的序號列和新的編號列是不需要的,就可以對它進(jìn)行刪除。刪除行列可以使用Pandas庫中的drop()函數(shù),該函數(shù)既可以刪除指定的列,也可以刪除指定的行。4、對大學(xué)生體測數(shù)據(jù)進(jìn)行統(tǒng)計分析數(shù)據(jù)查詢幫助用戶從數(shù)據(jù)里面篩選出滿足特定條件的記錄,但是僅限于展示數(shù)據(jù),未進(jìn)行更進(jìn)一步的數(shù)據(jù)分析和規(guī)律發(fā)現(xiàn)。只有對數(shù)據(jù)進(jìn)行整理、挖掘,才能發(fā)現(xiàn)隱藏于中的規(guī)律,從而使數(shù)據(jù)更好地服務(wù)于人們的生活。統(tǒng)計分析是一種通過對數(shù)據(jù)進(jìn)行統(tǒng)計和分析來獲取有關(guān)數(shù)據(jù)集的洞察力和信息的方法。它可以幫助我們理解數(shù)據(jù)的特征、趨勢和關(guān)系,并從中提取出有用的結(jié)論。下面我們來介紹如何對數(shù)據(jù)進(jìn)行統(tǒng)計分析,其中包括簡單統(tǒng)計、分組統(tǒng)計、排序、分箱等內(nèi)容4.1簡單統(tǒng)計基本統(tǒng)計指標(biāo)是描述和概括數(shù)據(jù)集中特定列的常用指標(biāo),包括均值、中位數(shù)、眾數(shù)、最小值、最大值、標(biāo)準(zhǔn)差等。這些指標(biāo)可以提供數(shù)據(jù)的集中趨勢、離散程度、分布形態(tài)等信息。使用Pandas庫,我們可以通過調(diào)用DataFrame對象上的相應(yīng)函數(shù)輕松計算這些指標(biāo),如mean()、count()、size()、min()、max()、std()等。Pandas為我們提供了最為基礎(chǔ)的統(tǒng)計方法,就是大家都使用過的describe方法。利用這個方法我們可以得到一些數(shù)值的簡單統(tǒng)計量。例如,統(tǒng)計人員需要對不同學(xué)院體測得分查看計數(shù)、最大值、最小值、中位數(shù)、平均值等內(nèi)容,就需要對體測數(shù)據(jù)表進(jìn)行簡單統(tǒng)計4.2分組統(tǒng)計在實際應(yīng)用中,數(shù)據(jù)集往往是非常龐大而復(fù)雜的,其中包含了各種各樣的信息和變量。很多時候我們數(shù)據(jù)都是以個體為單位的,一行數(shù)據(jù)描述的就是一個個體的各種信息,但有時需要對不同行的相同列進(jìn)行統(tǒng)計分析,例如統(tǒng)計大學(xué)生體測數(shù)據(jù)不同學(xué)院的合格率,對于這種情況,我們可以利用數(shù)據(jù)分組聚合把數(shù)據(jù)按照學(xué)院列進(jìn)行分組(分類),計算每個分組下的合格率,從而簡化數(shù)據(jù)分析難度4.2.1分組聚合概述在Pandas庫中,數(shù)據(jù)分組調(diào)用的是groupby()方法。要理解groupby的功能,首先要明白分組的含義:對原始數(shù)據(jù)的行按照某一個或者多個字段的取值或者要求重新組合,將滿足同一個條件的行聚合到一起在計算其他數(shù)值。該過程即一個標(biāo)準(zhǔn)分組操作。其操作思路遵循Split-Apply-Combine(拆分-應(yīng)用-合并)的思想:Split:根據(jù)特定規(guī)則將數(shù)據(jù)劃分為多組Apply:將指定的函數(shù)分別應(yīng)用于分組后的各組數(shù)據(jù)Combine:將應(yīng)用后的結(jié)果合并到一起,形成最終結(jié)果其基本格式為:數(shù)據(jù)表對象.groupby(分組條件)[分組對象].聚合函數(shù)4.2.2分組groupby()是Pandas中DataFrame類型的一個屬性函數(shù),即只有表格數(shù)據(jù)DataFrame才可以調(diào)用groupby()(Series類型也有一個groupby()屬性函數(shù),但幾乎用不到)。它的作用是根據(jù)指定的數(shù)據(jù)字段對表格進(jìn)行分組,并返回一個分組器對象4.2.3聚合數(shù)據(jù)分組后,接下來就需要聚合操作。什么是聚合呢?在上一步中,已經(jīng)對數(shù)據(jù)進(jìn)行了分組,那么聚合操作就是對每一個小組內(nèi)數(shù)據(jù)的某幾個字段做計算,最后再將每個組內(nèi)計算后的結(jié)果合并在一起。聚合操作可以使用內(nèi)置的聚合函數(shù),如sum()、mean()、count()、max()、min()等4.3排序?qū)?shù)據(jù)進(jìn)行分組統(tǒng)計后,需要將數(shù)據(jù)進(jìn)行排序,從而更方便進(jìn)行觀察。Pandas中最常見的數(shù)據(jù)排序是sort_values(),它的功能是根據(jù)表中的數(shù)據(jù)值進(jìn)行排序,基本格式如下:數(shù)據(jù)表對象.sort_values(by=需要排序的列,ascending=True/False)其中,by用于指定要排序的列;ascending用于指定排序方式是升序還是降序。如果排序中出現(xiàn)相同的值,該如何進(jìn)行區(qū)分呢?此時可以使用多個字段進(jìn)行排序,例如:數(shù)據(jù)表對象.sort_values(by=['a','b'],ascending=[False,True]))數(shù)據(jù)表先按a列降序排列,如果碰到相同的值,就按b列升序排列4.4分箱數(shù)據(jù)分箱,也稱為數(shù)據(jù)離散化或數(shù)據(jù)分桶,本質(zhì)上就是把數(shù)據(jù)進(jìn)行分組。數(shù)據(jù)分組對象是離散非數(shù)值字段,而數(shù)據(jù)分箱對象為連續(xù)數(shù)值字段。它是一種常見的數(shù)據(jù)預(yù)處理技術(shù),可將原始數(shù)據(jù)按指定的規(guī)則分組到箱或桶中,從而實現(xiàn)分組匯總或統(tǒng)計分析。在Pandas中,分為平均分箱和數(shù)值分箱4.4.1平均分箱平均分箱將數(shù)據(jù)的數(shù)量按照比例均勻地進(jìn)行分組,使用qcut()函數(shù),將數(shù)據(jù)按從小到大的順序排序,然后再將排序后的數(shù)據(jù)平均分為n組,基本格式為:Pd.qcut(分組數(shù)據(jù),分組數(shù)量,label標(biāo)簽)如果想查看分箱后各個組的數(shù)量,可以使用counter進(jìn)行統(tǒng)計4.4.2數(shù)值分箱數(shù)值分箱,將數(shù)據(jù)按照數(shù)值的范圍進(jìn)行分組,使用cut()函數(shù),可以將數(shù)據(jù)按照數(shù)值的范圍進(jìn)行分組,基本格式為:Pd.cut(分組數(shù)據(jù),分組數(shù)量,label標(biāo)簽)任務(wù)分析及實現(xiàn)(75mins)例2-1-1:查看體測數(shù)據(jù)表所有表名。程序代碼:importpandasaspddf=pd.ExcelFile('20級選項班男生體測數(shù)據(jù)各二級學(xué)院學(xué)生詳細(xì)信息表.xlsx')#打開文件sheet_names=df.sheet_names#獲取表名print(sheet_names)例2-1-3:單一條件篩選,工控2001班的班主任要查看班級的體測數(shù)據(jù),就需要對行政班級為工控2001的人進(jìn)行條件篩選。以完成行政班級為工控2001的條件篩選為例,單一條件篩選的代碼為:importpandasaspddf=pd.read_excel('20級選項班男生體測數(shù)據(jù)各二級學(xué)院學(xué)生詳細(xì)信息表.xlsx','機(jī)電與汽車工程學(xué)院')#篩選行政班級為工控2001的名單df.loc[(df['行政班級']=='工控2001')]df.head()例2-1-4:工控2001班的班主任需要查看總分大于40的名單,就需要同時對班級為工控2001和總分大于40這兩個條件進(jìn)行篩選。(1)以完成行政班級為工控2001總分大于40的條件篩選為例,多條件篩選的代碼為:importpandasaspddf=pd.read_excel('20級選項班男生體測數(shù)據(jù)各二級學(xué)院學(xué)生詳細(xì)信息表.xlsx','機(jī)電與汽車工程學(xué)院')#篩選行政班級為工控2001且引起向上得分大于10的名單df.loc[(df['行政班級']=='工控2001')&(df['總分']>40)]例2-2-1:以電子2101班和電子2102班的信息表為例,表中的數(shù)據(jù)如圖2-6和圖2-7所示。統(tǒng)計人員需要將電子2101班和電子2102班信息表進(jìn)行合并,為了實現(xiàn)信息表的合并,需要將電子2102班信息表連接到電子2101班信息表的末尾。(1)以完成電子2101班和電子2102班信息表縱向連接為例,進(jìn)行append連接的代碼為:importpandasaspd#導(dǎo)入數(shù)據(jù)df1=pd.read_excel('電子2101信息表.xlsx')df2=pd.read_excel('電子2102信息表.xlsx')#縱向連接df1.append(df2)例2-2-2:以連鎖2101班信息表為例,兩個表中的數(shù)據(jù)如圖2-12所示。連鎖2101班的班主任需要將連鎖2101班的身份信息與高考信息進(jìn)行合并,為了實現(xiàn)信息表的合并,需要將兩個表進(jìn)行橫向拼接。以完成連鎖2101班的身份信息與高考信息合并為例,進(jìn)行concat橫向連接的代碼為:importpandasaspd#導(dǎo)入數(shù)據(jù)df1=pd.read_excel('連鎖2101班信息表1.xlsx')df2=pd.read_excel('連鎖2101班信息表2.xlsx')pd.concat([df1,df2],axis=1)#橫向拼接例2-2-6:不同學(xué)院的體測數(shù)據(jù)在不同的sheet中,統(tǒng)計人員需要將它合并為一個表進(jìn)行分析。可以通過四步實現(xiàn)多sheet拼接。以實現(xiàn)不同學(xué)院體測數(shù)據(jù)合并為例,進(jìn)行多個sheet拼接的代碼為:importosimportpandasaspdfrompandasimportDataFrame#1.打開Excel(帶路徑)excel_name=os.path.join(os.getcwd(),'20級選項班男生體測數(shù)據(jù)各二級學(xué)院學(xué)生詳細(xì)信息表.xlsx')#2.獲得所有工作表sheets=pd.ExcelFile(excel_name).sheet_names#3.循環(huán)獲取所有工作表的數(shù)據(jù),并存到all_data里面all_data=DataFrame()fors_nameinsheets:df=pd.read_excel(excel_name,sheet_name=s_name,skiprows=0,index_col=False)all_data=all_data.append(df)print(all_data)#4.將所有數(shù)據(jù)寫入”輸出文件.xlsx"中all_data.to_excel('總表.xlsx')例2-4-1:以查看大學(xué)生體測數(shù)據(jù)總表的各指標(biāo)數(shù)據(jù)為例,簡單統(tǒng)計的代碼為:importpandasaspddf=pd.read_excel('總表.xlsx')#打開文件#查看數(shù)據(jù)表各指標(biāo)數(shù)據(jù)df.describe()例2-4-4:統(tǒng)計人員需要對大學(xué)生體測數(shù)據(jù)總表的不同學(xué)院進(jìn)行統(tǒng)計,可以使用數(shù)據(jù)分組將表按照字段學(xué)院進(jìn)行分組。(1)以對大學(xué)生體測數(shù)據(jù)總表的不同學(xué)院進(jìn)行分組為例,分組代碼為:importpandasaspddf=pd.read_excel('總表.xlsx')#打開文件df.groupby("學(xué)院")例2-4-8:老師想查看商貿(mào)與經(jīng)濟(jì)管理學(xué)院體測總分前十名,如果總分相同按序號升序排列。就需要對總分和序號進(jìn)行多字段排列。以查看商貿(mào)與經(jīng)濟(jì)管理學(xué)院體測總分前十名為例,多字段排列代碼為:importpandasaspddf=pd.read_excel('20級選項班男生體測數(shù)據(jù)各二級學(xué)院學(xué)生詳細(xì)信息表.xlsx','商貿(mào)與經(jīng)濟(jì)管理學(xué)院')gb=df.sort_values(by=['總分','序號'],ascen
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廠房合同范例范例
- 公立美容服務(wù)合同范本
- 協(xié)議控股合同范例
- 行政新人試用期工作總結(jié)2025年
- 陜西省石泉縣八年級地理下冊 第六章《北方地區(qū)》備課教學(xué)實錄 (新版)新人教版
- jiam勞務(wù)合同范例
- 合作研發(fā)框架合同范例
- 農(nóng)場品購銷合同范本
- 人教版初中歷史與社會七年級上冊 2.3.1《人口與人種》教學(xué)設(shè)計
- 加工樁尖合同范本
- 固態(tài)電池發(fā)展趨勢研究
- 2025年哈爾濱幼兒師范高等??茖W(xué)校單招職業(yè)技能測試題庫完整
- 2025-2030年中國鐵精粉市場發(fā)展?fàn)顩r及營銷戰(zhàn)略研究報告
- 做最勇敢的自己
- 《生活污水》課件
- 2025年大慶職業(yè)學(xué)院單招職業(yè)技能測試題庫(名師系列)
- GB/T 23694-2024風(fēng)險管理術(shù)語
- 2025年蕪湖職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 創(chuàng)辦民辦學(xué)校項目可行性論證報告
- 律師事務(wù)所監(jiān)管資金協(xié)議書(2篇)
- 2025年江蘇南通煒賦集團(tuán)有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論