《Python數(shù)據分析與應用案例教程》(李兆延)教案 第12課 數(shù)據的排序與排名及統(tǒng)計分析_第1頁
《Python數(shù)據分析與應用案例教程》(李兆延)教案 第12課 數(shù)據的排序與排名及統(tǒng)計分析_第2頁
《Python數(shù)據分析與應用案例教程》(李兆延)教案 第12課 數(shù)據的排序與排名及統(tǒng)計分析_第3頁
《Python數(shù)據分析與應用案例教程》(李兆延)教案 第12課 數(shù)據的排序與排名及統(tǒng)計分析_第4頁
《Python數(shù)據分析與應用案例教程》(李兆延)教案 第12課 數(shù)據的排序與排名及統(tǒng)計分析_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

課題第12課數(shù)據的排序與排名分析課時2課時(90min)教學目標知識技能目標:(1)掌握數(shù)據的排序分析的方法(2)掌握數(shù)據排名分析的方法(3)掌握數(shù)值型和字符型數(shù)據統(tǒng)計分析的方法(4)能對數(shù)據進行排名與排序,統(tǒng)計等分析素質目標:(1)提高分析問題、針對不同問題選擇合適方法的能力教學重難點教學重點:數(shù)值型和字符型數(shù)據統(tǒng)計分析的方法教學難點:能對數(shù)據進行合排名與排序,統(tǒng)計等分析教學方法案例分析法、問答法、討論法、講授法教學用具電腦、投影儀、多媒體課件、教材、文旌課堂APP教學設計第1節(jié)課:→→傳授新知(28min)→課堂討論(10min)第2節(jié)課:→傳授新知(20min)→課堂討論(12min)→課堂小結(3min)→作業(yè)布置(2min)教學過程主要教學內容及步驟設計意圖第一節(jié)課考勤

(2min)【教師】使用文旌課堂APP進行簽到【學生】按照老師要求簽到培養(yǎng)學生的組織紀律性,掌握學生的出勤情況問題導入(5min)【教師】提出問題在進行數(shù)據分析之前要進行數(shù)據預處理,除了查找缺失值和重復值,數(shù)據預處理還需要進行哪些操作?【學生】思考、舉手回答通過提問的方法,了解學生對上節(jié)課知識的掌握程度和預習情況,進而引出新知傳授新知

(28min)【教師】總結學生的回答,并引入新知,講解數(shù)據排序的相關知識3.2.1數(shù)據的排序分析?【教師】請同學們掃描二維碼學習數(shù)據排序分析,并回答以下問題:如何理解數(shù)據的排序分析?數(shù)據排序有哪些順序??【學生】掃描二維碼、思考、回答問題?【教師】總結學生的回答,并講解新知數(shù)據的排序分析是指對數(shù)據按指定的標準進行升序或降序排序分析。DataFrame對象中數(shù)據的排序可分為按索引或標簽排序及按值排序。1.按索引或標簽排序?【教師】多媒體出示了sort_index()函數(shù)的一般格式(詳見教材),并詳細講解各部分表示的內容Pandas提供了sort_index()函數(shù)用于按索引或標簽排序,其一般格式如下。DataFrame.sort_index(axis=0,ascending=True,inplace=False,ignore_index=False)其中,axis表示按行或列的索引或標簽排序,取0或“index”表示按行索引或標簽,取1或“columns”表示按列索引或標簽,默認為0;ascending表示排序方式,取True表示升序排序,取False表示降序排序,默認為True;inplace和ignore_index與之前介紹過的一致,表示是否替換原數(shù)據和是否忽略原索引或標簽。?【教師】按照教材步驟逐步分析并進行演示例4-1(詳見教材)的程序編寫步驟:importnumpyasnpimportpandasaspd#隨機生成3×3的數(shù)組arr=np.random.randint(1,20,size=(3,3))df=pd.DataFrame(arr,columns=['c','b','a'])print('原始數(shù)據:\n',df)print('按行索引降序排序:\n',df.sort_index(ascending=False))print('按列標簽升序排序:\n',df.sort_index(axis=1))(詳見教材)?【學生】觀察、記錄、理解?【學生】教師演示完成后,學生按照教材提示和教師演示進行實際操作,并對比程序運行結果(詳見教材)?【教師】巡視課堂記錄,對學生進行個別指導2.按值排序?【教師】多媒體出示了sort_values()函數(shù)的一般格式(詳見教材),并詳細講解各部分表示的內容Pandas提供了sort_values()函數(shù)用于按行或列的值排序,其一般格式如下。DataFrame.sort_values(by,axis=0,ascending=True,inplace=False,ignore_index=False)其中,by表示索引或標簽,如果DataFrame對象沒有設置標簽,則為索引,如果設置了標簽,則須為標簽;axis表示按行或列的值排序,取0或“index”表示按列的值,取1或“columns”表示按行的值,默認為0。?【教師】按照教材步驟逐步分析并進行演示例4-2(詳見教材)的程序編寫步驟:importnumpyasnpimportpandasaspdarr=np.random.randint(1,20,size=(3,3))df=pd.DataFrame(arr)print('原始數(shù)據:\n',df)print('按第2行的值升序排序:\n',df.sort_values(by=1,axis=1))print('按第2列的值升序排序:\n',df.sort_values(by=1))df.columns=['a','b','c']print('設置列標簽后的原始數(shù)據:\n',df)print('按a列的值降序排序:\n',df.sort_values(by='a',ascending=False))(詳見教材)?【學生】觀察、記錄、理解?【學生】教師演示完成后,學生按照教材提示和教師演示進行實際操作,并對比程序運行結果(詳見教材)?【教師】巡視課堂記錄,對學生進行個別指導4.1.2數(shù)據排名分析數(shù)據的排名分析是指對一列數(shù)據進行升序或降序排名分析。?【教師】多媒體出示了rank()函數(shù)的一般格式(詳見教材),并詳細講解各部分表示的內容Pandas提供了rank()函數(shù)用于數(shù)據的排名,其一般格式如下。DataFrame.rank(method='average',ascending=True)其中,method表示重復數(shù)據排名的處理方法,如果為“average”表示取相同數(shù)據排名中的平均排名;如果為“min”表示取相同數(shù)據排名中的最小排名;如果為“max”表示取相同數(shù)據排名中的最大排名;如果為“first”表示按順序排名;默認為“average”。該函數(shù)返回一個Series對象,數(shù)據類型為浮點型。?【教師】按照教材步驟逐步分析并進行演示例4-3(詳見教材)的程序編寫步驟:importpandasaspdpd.set_option('display.unicode.east_asian_width',True)df=pd.DataFrame([2,5,5,5,10,3,4,12,7,10],columns=['原始數(shù)據'])df['順序排名']=df['原始數(shù)據'].rank(method='first')df['最大值排名']=df['原始數(shù)據'].rank(method='max')df['最小值排名']=df['原始數(shù)據'].rank(method='min')df['平均值排名']=df['原始數(shù)據'].rank(method='average')print(df)(詳見教材)?【學生】觀察、記錄、理解?【學生】教師演示完成后,學生按照教材提示和教師演示進行實際操作,并對比程序運行結果(詳見教材)?【教師】巡視課堂記錄,對學生進行個別指導?【教師】提出學習任務:對比程序結果,進行程序分析。?【學生】觀察、記錄、理解、分析、回答問題?【教師】總結學生的回答,并對程序進行分析順序排名是原始數(shù)據默認的升序排名。例如,2最小則排名為1,12最大則排名為10,3個5按順序排名,第1個5排名為4,第2個5排名為5,第3個5排名為6。最大值排名是在相同數(shù)據的排名中取最大的排名。例如,3個5按順序排名分別為4、5、6,則其最大值排名都取6。同理,3個5的最小值排名都取4,它們的平均值排名則取(4+5+6)/3=5?!咎崾尽拷處熤v解reset_index()函數(shù)的用途?【學生】聆聽、思考【學生】聆聽、思考、理解、記憶通過教師講解、課堂討論、多媒體演示等方式,使學生了解數(shù)據排序排名分析的相關內容課堂實踐

(10min)【教師】提出以下問題讓學生進行實踐練習:將“學生成績表.xlsx”文件中的學生成績按總成績降序排名,并按排名升序排序,文件內容如圖所示。【學生】聆聽、思考、討論、實踐練習【教師】總結學生的回答,進行問題分析及程序說明問題分析:首先導入“學生成績表.xlsx”文件中的數(shù)據;然后通過分組和聚合計算學生的總成績;最后按總成績降序排名(最小值排名),并按排名升序排序。在實際應用中,對學生總成績進行排名時,如果學生總成績相同,會按語文成績降序排序。因此,在按排名升序排序后,需要按排名進行分組,然后對每組數(shù)據按語文成績降序排序,并縱向連接。參考代碼:importpandasaspdpd.set_option('display.unicode.east_asian_width',True)df=pd.read_excel('學生成績表.xlsx')#分組和聚合計算總成績df['總成績']=df.groupby({'語文':'總成績','數(shù)學':'總成績','英語':'總成績','綜合':'總成績'},axis=1).agg('sum')#按總成績降序排名df['排名']=df['總成績'].rank(method='min',ascending=False)#按排名升序排序,并重新設置連續(xù)的行索引df.sort_values('排名',inplace=True,ignore_index=True)df1=pd.DataFrame()groups=df.groupby('排名')forgroupingroups:df2=pd.DataFrame(group[1])df2.sort_values('語文',ascending=False,inplace=True)df1=pd.concat([df1,df2])df1=df1.reset_index(drop=True) #重新設置連續(xù)的行索引print(df1)通過課堂實踐,加深學生對數(shù)據排序與排名的理解第二節(jié)課問題導入(8min)【教師】提出問題我們已經學習了數(shù)據排序的相關知識,那么數(shù)據應該如何統(tǒng)計呢?【學生】聆聽、思考、回答問題通過提問的方法,引導學生主動思考,激發(fā)學生的學習興趣傳授新知(20min)【教師】總結學生的回答,并引入新知,講解數(shù)據統(tǒng)計分析的相關知識?【教師】請同學們掃描二維碼學習數(shù)據統(tǒng)計分析,并回答以下問題:什么是數(shù)據統(tǒng)計分析?數(shù)據統(tǒng)計分析包含哪些內容??【學生】掃描二維碼、思考、回答問題?【教師】總結學生的回答,并講解新知4.2.1數(shù)值型數(shù)據統(tǒng)計分析數(shù)值型數(shù)據的描述性統(tǒng)計主要包括最大值、最小值、均值、中位數(shù)、四分位數(shù)、極差、方差、標準差等統(tǒng)計指標。?【教師】多媒體出示了常用的統(tǒng)計函數(shù)表格(詳見教材),并詳細講解各部分表示的內容函數(shù)說明函數(shù)說明count()統(tǒng)計非缺失值個數(shù)quantile()計算四分位數(shù)sum()計算總和var()計算方差max()獲取最大值mode()計算眾數(shù)min()獲取最小值std()計算標準差mean()計算均值cumsum()計算累加和median()計算中位數(shù)cumprod()計算累加積(1)四分位數(shù)是指將一組從小到大的順序數(shù)據等分為4部分(每部分包含25%的數(shù)據)的3個分割點,處在25%、50%、75%位置的四分位數(shù)分別為下四分位數(shù)、中位數(shù)、上四分位數(shù)。在quantile()函數(shù)中,參數(shù)q取0.5表示計算中位數(shù),取0.25表示計算下四分位數(shù),取0.75表示計算上四分位數(shù),默認為0.5。(2)方差是指每個數(shù)據與該組數(shù)據的平均值之差的平方值的平均值。(3)眾數(shù)是指一組數(shù)據中出現(xiàn)次數(shù)最多的數(shù)據,代表了數(shù)據的一般水平。(4)標準差是指方差的算術平方根。(5)累加和、累加積是指對數(shù)據進行累計相加、相乘。統(tǒng)計函數(shù)默認按列進行計算,如果需要按行進行計算,則須將axis參數(shù)設置為1。此外,只對數(shù)值型數(shù)據進行計算時,應設置numeric_only參數(shù)為True。?【教師】多媒體出示了describe()函數(shù)統(tǒng)計數(shù)值型數(shù)據的屬性表格(詳見教材),并詳細講解各部分表示的內容屬性說明屬性說明count非缺失值個數(shù)25%下四分位數(shù)mean均值50%中位數(shù)std標準差75%上四分位數(shù)min最小值max最大值?【教師】按照教材步驟逐步分析并進行演示例4-5(詳見教材)的程序編寫步驟:使用sum()函數(shù)和mean()函數(shù)按行計算每個學生的總成績和平均成績,然后使用describe()函數(shù)按列計算各科成績、總成績和平均成績的統(tǒng)計指標。importpandasaspdpd.set_option('display.unicode.east_asian_width',True)df=pd.read_excel('學生成績表.xlsx')#按行計算總成績,并添加到列末df['總成績']=df.sum(axis=1,numeric_only=True)#按行計算平均成績,并添加到列末df['平均成績']=df.mean(axis=1,numeric_only=True)print(df) #輸出添加總成績和平均成績后的數(shù)據print(df.describe()) #輸出各科成績、總成績和平均成績的統(tǒng)計指標(詳見教材)?【學生】觀察、記錄、理解?【學生】教師演示完成后,學生按照教材提示和教師演示進行實際操作,并對比程序運行結果(詳見教材)?【教師】巡視課堂記錄,對學生進行個別指導4.2.2字符型數(shù)據統(tǒng)計分析字符型數(shù)據具有分類作用,如班級、商品名稱、城市名等,它的統(tǒng)計主要是頻數(shù)統(tǒng)計。?【教師】多媒體出示了value_counts()函數(shù)的一般格式(詳見教材),并詳細講解各部分表示的內容DataFrame.value_counts(subset=None,normalize=False,ascending=False)其中,subset表示列標簽或列表,如果為列表,表示統(tǒng)計多列中每行數(shù)據的頻數(shù),默認為所有列;normalize表示是否按頻率顯示(頻率=頻數(shù)/總頻數(shù)),取True表示按頻率顯示,取False表示按頻數(shù)顯示,默認為False;ascending表示頻率或頻數(shù)的排序方式,默認為False,即降序排序。?【提示】教師講解value_counts()函數(shù)的作用?【學生】聆聽、思考?【教師】多媒體出示了describe()函數(shù)統(tǒng)計字符型數(shù)據的一般格式(詳見教材),并詳細講解各部分表示的內容屬性說明屬性說明count非缺失值個數(shù)top出現(xiàn)次數(shù)最多的數(shù)據unique數(shù)據的種類數(shù)量freq出現(xiàn)次數(shù)最多的數(shù)據的個數(shù)?【教師】按照教材步驟逐步分析并進行演示例4-6(詳見教材)的程序編寫步驟:importpandasaspdpd.set_option('display.unicode.east_asian_width',True)df=pd.DataFrame([['A','C','B'],['B','A','C'],['A','B','C'],['A','B','C']],columns=['a','b','c'])print('原始數(shù)據:\n',df)print('按頻數(shù)降序統(tǒng)計a列:\n',df.value_counts('a'))print('按頻率升序統(tǒng)計b列:\n',df.value_counts('b',normalize=True,ascending=True))print('按頻數(shù)降序統(tǒng)計所有列:\n',df.value_counts())print('使用describe()函數(shù)統(tǒng)計所有列:\n',df.describe())(詳見教材)?【學生】觀察、記錄、理解?【學生】教師演示完成后,學生按照教材提示和教師演示進行實際操作,并對比程序運行結果(詳見教材)?【教師】巡視課堂記錄,對學生進行個別指導?【教師】提出學習任務:對比程序結果,進行程序分析。?【學生】觀察、記錄、理解、分析?【教師】總結學生的分析結果統(tǒng)計所有列時,將會以一行作為整體統(tǒng)計相應的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論