《Pandas數(shù)據(jù)處理》課件 5.1.2 按年級統(tǒng)計各參賽項目男女生人數(shù)_第1頁
《Pandas數(shù)據(jù)處理》課件 5.1.2 按年級統(tǒng)計各參賽項目男女生人數(shù)_第2頁
《Pandas數(shù)據(jù)處理》課件 5.1.2 按年級統(tǒng)計各參賽項目男女生人數(shù)_第3頁
《Pandas數(shù)據(jù)處理》課件 5.1.2 按年級統(tǒng)計各參賽項目男女生人數(shù)_第4頁
《Pandas數(shù)據(jù)處理》課件 5.1.2 按年級統(tǒng)計各參賽項目男女生人數(shù)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

查詢學(xué)生成績主講人:岑遠(yuǎn)紅重慶市九龍坡職業(yè)教育中心問題描述學(xué)校期末考試后,會提供成績查詢服務(wù),但是不同專業(yè)同學(xué)的考試科目不一樣,不能將他們放到一張表集中查詢,為了解決這個問題,我們需要對日常的成績表做一下調(diào)整。表5.1.10學(xué)生專業(yè)課成績表姓名C語言(70分)數(shù)據(jù)結(jié)構(gòu)(70分)算法分析(60分)邱俊松675353胡艷675452孔航675254黃莉645553古瑞616050............卿成16513歐金霞10617晏麗7917肖權(quán)利8512齊云瑞000表5.1.11加工后的學(xué)生專業(yè)課成績表姓名學(xué)科

邱俊松C語言(70分)67數(shù)據(jù)結(jié)構(gòu)(70分)53算法分析(60分)53胡艷C語言(70分)67數(shù)據(jù)結(jié)構(gòu)(70分)54………肖權(quán)利數(shù)據(jù)結(jié)構(gòu)(70分)5算法分析(60分)12齊云瑞C語言(70分)0數(shù)據(jù)結(jié)構(gòu)(70分)0算法分析(60分)0輸出結(jié)果表5.1.12學(xué)生成績查詢結(jié)果

學(xué)科成績

C語言(70分)67數(shù)據(jù)結(jié)構(gòu)(70分)54算法分析(60分)52題前思考表5.1.4問題分析問題描述問題解答怎樣把“橫”著的數(shù)據(jù)“學(xué)科”“豎”起來?收折操作實現(xiàn)把“橫”著的數(shù)據(jù)“學(xué)科”“豎”起來。怎樣根據(jù)索引查詢學(xué)生成績?使用數(shù)據(jù)框的loc屬性定位學(xué)生成績實現(xiàn)查詢功能。importpandasaspdgrade=pd.read_excel(r"D:\pydata\項目五\計算機專業(yè)成績.xlsx")grade=grade.loc[:,['姓名','C語言(70分)','數(shù)據(jù)結(jié)構(gòu)(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='學(xué)科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成績']⑤name=input()ifnameingrade.index:print(grade.loc[name])⑥else:print('學(xué)生姓名錯誤!')程序代碼importpandasaspdgrade=pd.read_excel(r"D:\pydata\項目五\計算機專業(yè)成績.xlsx")grade=grade.loc[:,['姓名','C語言(70分)','數(shù)據(jù)結(jié)構(gòu)(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='學(xué)科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成績']⑤name=input()ifnameingrade.index:print(grade.loc[name])⑥else:print('學(xué)生姓名錯誤!')程序代碼將“姓名”列設(shè)置為數(shù)據(jù)框的索引。程序代碼表5.1.14將姓名設(shè)置為索引

姓名C語言(70分)

數(shù)據(jù)結(jié)構(gòu)(70分)

算法分析(60分)

邱俊松675353胡艷675452孔航675254黃莉645553古瑞616050............卿成16513歐金霞10617晏麗7917肖權(quán)利8512齊云瑞000importpandasaspdgrade=pd.read_excel(r"D:\pydata\項目五\計算機專業(yè)成績.xlsx")grade=grade.loc[:,['姓名','C語言(70分)','數(shù)據(jù)結(jié)構(gòu)(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='學(xué)科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成績']⑤name=input()ifnameingrade.index:print(grade.loc[name])⑥else:print('學(xué)生姓名錯誤!')程序代碼將列索引命名為“學(xué)科”。程序代碼表5.1.15將姓名設(shè)置為索引學(xué)科姓名C語言(70分)

數(shù)據(jù)結(jié)構(gòu)(70分)

算法分析(60分)

邱俊松675353胡艷675452孔航675254黃莉645553古瑞616050............卿成16513歐金霞10617晏麗7917肖權(quán)利8512齊云瑞000importpandasaspdgrade=pd.read_excel(r"D:\pydata\項目五\計算機專業(yè)成績.xlsx")grade=grade.loc[:,['姓名','C語言(70分)','數(shù)據(jù)結(jié)構(gòu)(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='學(xué)科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成績']⑤name=input()ifnameingrade.index:print(grade.loc[name])⑥else:print('學(xué)生姓名錯誤!')程序代碼調(diào)用數(shù)據(jù)框?qū)ο骻rade的stack()方法“收折”最后一級列索引“學(xué)科”,將使數(shù)據(jù)框變成一個多級索引的序列。程序代碼表5.1.16grade收折之后形成的序列姓名學(xué)科

邱俊松C語言(70分)67數(shù)據(jù)結(jié)構(gòu)(70分)53算法分析(60分)53胡艷C語言(70分)67數(shù)據(jù)結(jié)構(gòu)(70分)54………肖權(quán)利數(shù)據(jù)結(jié)構(gòu)(70分)5算法分析(60分)12齊云瑞C語言(70分)0數(shù)據(jù)結(jié)構(gòu)(70分)0算法分析(60分)0數(shù)據(jù)框的索引為多級索引:MultiIndex([('邱俊松',

'C語言(70分)'),

('邱俊松','數(shù)據(jù)結(jié)構(gòu)(70分)'),

('邱俊松','算法分析(60分)'),

...

('肖權(quán)利','算法分析(60分)'),

('齊云瑞',

'C語言(70分)'),

('齊云瑞','數(shù)據(jù)結(jié)構(gòu)(70分)'),

('齊云瑞','算法分析(60分)')],

names=['姓名','學(xué)科'],length=504)importpandasaspdgrade=pd.read_excel(r"D:\pydata\項目五\計算機專業(yè)成績.xlsx")grade=grade.loc[:,['姓名','C語言(70分)','數(shù)據(jù)結(jié)構(gòu)(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='學(xué)科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成績']⑤name=input()ifnameingrade.index:print(grade.loc[name])⑥else:print('學(xué)生姓名錯誤!')程序代碼將上一步得到的序列轉(zhuǎn)換為數(shù)據(jù)框。程序代碼表5.1.17序列轉(zhuǎn)換成的數(shù)據(jù)框

姓名

學(xué)科0

邱俊松C語言(70分)67數(shù)據(jù)結(jié)構(gòu)(70分)53算法分析(60分)53胡艷C語言(70分)67數(shù)據(jù)結(jié)構(gòu)(70分)54.........肖權(quán)利數(shù)據(jù)結(jié)構(gòu)(70分)5算法分析(60分)12齊云瑞C語言(70分)0數(shù)據(jù)結(jié)構(gòu)(70分)0算法分析(60分)0importpandasaspdgrade=pd.read_excel(r"D:\pydata\項目五\計算機專業(yè)成績.xlsx")grade=grade.loc[:,['姓名','C語言(70分)','數(shù)據(jù)結(jié)構(gòu)(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='學(xué)科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成績']⑤name=input()ifnameingrade.index:print(grade.loc[name])⑥else:print('學(xué)生姓名錯誤!')程序代碼將上一步得到的序列轉(zhuǎn)換為數(shù)據(jù)框。程序代碼表5.1.18為列命名為“成績”后結(jié)果

姓名

學(xué)科成績邱俊松C語言(70分)67數(shù)據(jù)結(jié)構(gòu)(70分)53算法分析(60分)53胡艷C語言(70分)67數(shù)據(jù)結(jié)構(gòu)(70分)54.........肖權(quán)利數(shù)據(jù)結(jié)構(gòu)(70分)5算法分析(60分)12齊云瑞C語言(70分)0數(shù)據(jù)結(jié)構(gòu)(70分)0算法分析(60分)0importpandasaspdgrade=pd.read_excel(r"D:\pydata\項目五\計算機專業(yè)成績.xlsx")grade=grade.loc[:,['姓名','C語言(70分)','數(shù)據(jù)結(jié)構(gòu)(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='學(xué)科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成績']⑤name=input()ifnameingrade.index:

print(grade.loc[name])⑥else:print('學(xué)生姓名錯誤!')程序代碼根據(jù)輸入的姓名查詢成績。1.通過DataFrame.set_index()方法將“姓名”列設(shè)置為數(shù)據(jù)框的索引。2.通過DataF屬性將列索引命名為“學(xué)科”。3.調(diào)用DataFrame.stack()方法“收折”最后一級列索引“學(xué)科”,將使數(shù)據(jù)框變成一個多級索引的序列。4.調(diào)用Series.to_frame()方法將序列轉(zhuǎn)換為數(shù)據(jù)框。5.訪問DataFrame.loc屬性根據(jù)輸入的姓名查詢成績。一展身手現(xiàn)在要求對全校各專業(yè)學(xué)生分班計算各專業(yè)課的平均分。因為各專業(yè)的專業(yè)課程不同,所以必須要先改變各專業(yè)的成績表的結(jié)構(gòu),將成績列收折到行索引,然后

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論