版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
深入淺出Python編程
(模塊3數(shù)據(jù)結(jié)構(gòu))第6單元繪制人口普查數(shù)據(jù)圖表
利用全國(guó)第七次人口普查數(shù)據(jù)繪制圖表全國(guó)人口:人口數(shù)最多的省份、按序展示柱狀圖地區(qū)人口:湖南省14個(gè)地州市人口分布地圖Outcome單元目標(biāo)/Objectives理解映射(map)數(shù)據(jù)結(jié)構(gòu)
熟練掌握字典dict的使用
熟練掌握結(jié)合set的基本使用
掌握結(jié)構(gòu)化數(shù)據(jù)的文件讀寫操作
掌握簡(jiǎn)單的異常處理⑥
具有人本情懷與和諧共生理念內(nèi)容及計(jì)劃/Agenda&Schedule8/6ClassHoursDetails??茟?yīng)用本科<00:10><00:10>回顧&成果介紹<00:40><00:40>字典及半結(jié)構(gòu)化數(shù)據(jù)讀取<01:40><01:20>字典視圖及排序&全國(guó)人口柱狀圖<00:40><00:20>異常處理和程序調(diào)試<01:25><00:45>網(wǎng)絡(luò)數(shù)據(jù)輸入&地區(qū)人口分布圖<00:40><00:40>集合數(shù)據(jù)類型及基本使用<00:05><00:05>課堂小結(jié)Total:8/6hours(6/4hPractice)Total:54Hours(24hPractice)01人口普查數(shù)據(jù)圖表Humangraphicsinfo1.任務(wù)分析目標(biāo)解構(gòu)數(shù)據(jù)處理:提取、清洗、分析、可視化獲取數(shù)據(jù):從csv數(shù)據(jù)文件中讀?。粡木W(wǎng)絡(luò)API訪問(wèn)可視化/圖表:柱狀圖;GEO地圖模式識(shí)別csv和json半結(jié)構(gòu)化數(shù)據(jù)處理數(shù)據(jù)排序pyecharts可視化圖表庫(kù)1.任務(wù)分析模式歸納映射結(jié)構(gòu)(map)處理半結(jié)構(gòu)化數(shù)據(jù)Python中字典(dict)數(shù)據(jù)類型就是映射型Python自帶的csv和json兩個(gè)模塊處理文件數(shù)據(jù);自帶urllib模塊處理網(wǎng)絡(luò)訪問(wèn)算法設(shè)計(jì)csv—>dict;dict—>jsontuple()vskey-valuesorted()對(duì)字典進(jìn)行排序2.任務(wù)準(zhǔn)備csv模塊即逗號(hào)分隔值文件(CommaSeparatedValues)純文本的方式存數(shù)數(shù)據(jù)json模塊JSON(JavaScriptObjectNotation)是一種基于文本,獨(dú)立于語(yǔ)言的輕量級(jí)數(shù)據(jù)交換格式。JSON格式是純文本2.任務(wù)準(zhǔn)備urllib模塊urllib.request更高級(jí)別的HTTP客戶端接口,建議使用第三方模塊requestspyecharts模塊Echarts+Python將Python代碼“翻譯”成前端的JavaScript代碼實(shí)現(xiàn)可視化。02字典dict1.字典的基本使用—
創(chuàng)建字典字典的結(jié)構(gòu)以逗號(hào)分隔的“鍵:值”({key:
value})1.字典的基本使用—
創(chuàng)建字典多種創(chuàng)建字典的方式:字典是一種動(dòng)態(tài)結(jié)構(gòu)dict()函數(shù)創(chuàng)建直接使用花括號(hào){key:
value}創(chuàng)建dict.fromkeys(
)1.字典的基本使用—
修改字典按key引用字典的數(shù)據(jù)項(xiàng)目,再對(duì)其進(jìn)行修改;或者使用update()方法1.字典的基本使用—
修改字典使用數(shù)字做字典的key時(shí),并不區(qū)分相同大小的兩個(gè)整數(shù)數(shù)字和浮點(diǎn)型數(shù)字1.字典的基本使用——
刪除字典字典的刪除操作方法pop(key[,default]):可以刪除字典給定鍵key所對(duì)應(yīng)的值popitem()可以刪除字典中的最后一對(duì)鍵和值,并將該數(shù)據(jù)項(xiàng)作為刪除操作的返回值del語(yǔ)句deldict_var[key]不存在該key的數(shù)據(jù)項(xiàng)會(huì)報(bào)錯(cuò)2.讀取全國(guó)人口數(shù)據(jù)字典映射CSV文件與半結(jié)構(gòu)化數(shù)據(jù)使用DictReader()和DictWrite()以字典的形式讀寫數(shù)據(jù),每行中的數(shù)據(jù)映射到一個(gè)字典兩列數(shù)據(jù)對(duì)應(yīng)的列名分別為“provice”和“population”,我們將作為字典的key來(lái)使用“全國(guó)”統(tǒng)計(jì)匯總行的數(shù)據(jù)將刪除,不需要使用2.讀取全國(guó)人口數(shù)據(jù)字典映射獲取31個(gè)大陸省份的人口數(shù)03遍歷并排序全國(guó)人口數(shù)據(jù)字典值enumerate&sort1.操作字典視圖對(duì)象—
什么是字典視圖對(duì)象?字典視圖對(duì)象:一個(gè)字典的動(dòng)態(tài)視圖,可以被迭代、并支持成員檢測(cè)dict.keys():返回由字典所有的key/鍵組成的一個(gè)新視圖dict.values():返回由字典所有的value/值組成的一個(gè)新視圖dict.items():返回由字典所有的key-value/鍵-值對(duì)組成的一個(gè)新視圖1.操作字典視圖對(duì)象—
求最大值和最小值函數(shù)max()函數(shù)求最大值min()函數(shù)求最小值設(shè)置滑塊數(shù)值區(qū)間
2.降序排序人口數(shù)據(jù)字典值—
字典解包解包(unpacking)把一個(gè)集合/容器(collection)數(shù)據(jù)進(jìn)行分解、逐個(gè)取出來(lái)使用一個(gè)或兩個(gè)星號(hào)(*,或**)解包可迭代對(duì)象Python對(duì)可迭代對(duì)象的解包操作都是自動(dòng)完成2.降序排序人口數(shù)據(jù)字典值—
字典遍歷遍歷keys()、values()、items()可以分別遍歷字典的鍵、值和鍵值對(duì)/數(shù)據(jù)項(xiàng)for-in循環(huán)遍歷字典對(duì)象默認(rèn)是遍歷字典的鍵key2.降序排序人口數(shù)據(jù)字典值—
字典排序字典是無(wú)序的字典本身是無(wú)序的,并不直接支持排序但把每個(gè)key/value對(duì)抽象成一個(gè)值,那么整個(gè)字典又是線性的,可以使用sorted()函數(shù)對(duì)其進(jìn)行排序操作可以按keys、values和items/實(shí)際就是按key排序2.降序排序人口數(shù)據(jù)字典值—
字典排序字典是無(wú)序的字典本身是無(wú)序的,并不直接支持排序但把每個(gè)key/value對(duì)抽象成一個(gè)值,那么整個(gè)字典又是線性的,可以使用sorted()函數(shù)對(duì)其進(jìn)行排序操作可以按keys、values和items/實(shí)際就是按key排序2.降序排序人口數(shù)據(jù)字典值—
排序全國(guó)人口數(shù)字典遍歷:將k/v對(duì)調(diào)sort()對(duì)嵌套列表排序/value降序切片操作,截取top1004創(chuàng)建全國(guó)人口數(shù)柱狀圖Bar1.數(shù)據(jù)可視化庫(kù)pyechart的使用一切皆配置InitOpts:初始化配置項(xiàng)TitleOpts:標(biāo)題配置項(xiàng)VisualMapOpts:視覺(jué)映射配置項(xiàng)LabelOpts:標(biāo)簽配置項(xiàng)2.創(chuàng)建top10人口數(shù)柱狀圖準(zhǔn)備圖表數(shù)據(jù)X軸數(shù)據(jù)Y軸數(shù)據(jù)最大/最小值2.創(chuàng)建top10人口數(shù)柱狀圖準(zhǔn)備圖表數(shù)據(jù)X軸數(shù)據(jù)Y軸數(shù)據(jù)最大/最小值創(chuàng)建并配置Bar圖圖表標(biāo)題title可視化映射組件:min/max,顏色渲染輸出html文件05創(chuàng)建地區(qū)人口分布地圖GEO1.了解異常處理及調(diào)試程序錯(cuò)誤值—
錯(cuò)誤的類型3種錯(cuò)誤類型語(yǔ)法錯(cuò)誤(Syntaxerrors)運(yùn)行錯(cuò)誤(Runtimeerrors)邏輯錯(cuò)誤(Logicerrors)1.了解異常處理及調(diào)試程序錯(cuò)誤值—
異常的處理語(yǔ)法格式首先,執(zhí)行try子句(try和except關(guān)鍵字之間的代碼)如果沒(méi)有觸發(fā)異常,則跳過(guò)except子句,try語(yǔ)句執(zhí)行完畢;如果執(zhí)行try子句時(shí)發(fā)生了異常,則跳過(guò)觸發(fā)異常代碼后面剩余部分,進(jìn)而與except關(guān)鍵字后面的異常類型(Except_Type)進(jìn)行比對(duì),如果發(fā)現(xiàn)異常的類型匹配成功,則執(zhí)行except子句,最后,再繼續(xù)執(zhí)行try-except語(yǔ)句之后的代碼。try語(yǔ)句有兩個(gè)可選子句,一個(gè)是else子句,一個(gè)是finally子句,前者當(dāng)try子句中沒(méi)有異常觸發(fā)時(shí)執(zhí)行,后者無(wú)論try子句中的代碼有沒(méi)有引發(fā)異常,都會(huì)執(zhí)行。所有的except必須在else和finally之前,else必須在finally之前。1.了解異常處理及調(diào)試程序錯(cuò)誤值—
文件預(yù)處理等效的文件處理1.了解異常處理及調(diào)試程序錯(cuò)誤值—
文件預(yù)處理從csv文件獲取省份所包含的地州市名稱1.了解異常處理及調(diào)試程序錯(cuò)誤值—
調(diào)試程序設(shè)置斷點(diǎn)斷點(diǎn)(breakpoint)是指希望程序執(zhí)行過(guò)程中暫停的位置,以便于我們能更進(jìn)一步的觀查變量的值、判斷條件是否成立等啟動(dòng)調(diào)試環(huán)境選擇調(diào)試配置1.了解異常處理及調(diào)試程序錯(cuò)誤值—
調(diào)試程序跟蹤運(yùn)行繼續(xù)/暫停(Continue/PauseF5):暫停或直接執(zhí)行完代碼,直到下一個(gè)斷點(diǎn)。單步執(zhí)行(StepOverF10):?jiǎn)尾綀?zhí)行,但不進(jìn)入被調(diào)用函數(shù)。單步進(jìn)入(StepIntoF11):?jiǎn)尾綀?zhí)行,進(jìn)入被調(diào)用函數(shù)。跳出(StepOutShift+F11):跳出單步執(zhí)行模式。重啟(RestartCtrl+Shift+F5):重啟調(diào)試環(huán)境。停止(StopShift+F5):停止調(diào)試程序。2.網(wǎng)絡(luò)API查詢城市經(jīng)緯度坐標(biāo)—
http與requests兩個(gè)概念HTTP(HyperTextTransferProtocol)超文本傳輸協(xié)議實(shí)現(xiàn)萬(wàn)維網(wǎng)上各種資源的鏈接URL(UniformResourceLocator,統(tǒng)一資源定位器)訪問(wèn)過(guò)程建立連接:客戶端的瀏覽器向服務(wù)端發(fā)出建立連接的請(qǐng)求,服務(wù)端給出響應(yīng)就可以建立連接了;發(fā)送請(qǐng)求:客戶端按照協(xié)議的要求通過(guò)連接向服務(wù)端發(fā)送自己的請(qǐng)求;給出應(yīng)答:服務(wù)端按照客戶端的要求給出應(yīng)答,把結(jié)果(HTML文件)返回給客戶端;關(guān)閉連接:客戶端接到應(yīng)答后關(guān)閉連接。/index.html協(xié)議/服務(wù)域名/地址文件路徑/資源2.網(wǎng)絡(luò)API查詢城市經(jīng)緯度坐標(biāo)—
http與requests訪問(wèn)天地圖網(wǎng)站過(guò)程的示意圖瀏覽器發(fā)起訪問(wèn)URL請(qǐng)求向DNS請(qǐng)求解析的IP地址服務(wù)器響應(yīng),將文檔index.html發(fā)送給瀏覽器釋放TCP連接瀏覽器顯示index.html中的內(nèi)容InternetWeb服務(wù)器客戶機(jī)(瀏覽器)Index.htmlIP:2HTTPoverTCPTCP連接建立TCP連接請(qǐng)求文檔1HTTP請(qǐng)求報(bào)文響應(yīng)文檔2HTTP響應(yīng)報(bào)文釋放TCP連接瀏覽器與服務(wù)器建立TCP連接(80端口)DNS將解析出的IP地址2返回瀏覽器瀏覽器請(qǐng)求文檔:GET/index.html2.網(wǎng)絡(luò)API查詢城市經(jīng)緯度坐標(biāo)—
http與requestshttp://api_hub#分析數(shù)據(jù)analyze()#識(shí)別二維碼ocr()#語(yǔ)音轉(zhuǎn)文字recognizeText()MyPythonCodehttp://api_hub/analyzeAPIAPI(ApplicationProgrammingInterface)指應(yīng)用程序編程接口訪問(wèn)方式GET方式:以查詢字符串(querystring)的形式傳遞查詢參數(shù),對(duì)于中文、標(biāo)點(diǎn)符號(hào)等需要進(jìn)行轉(zhuǎn)義處理,傳遞的字符數(shù)量有限制。POST方式:將要傳遞查詢參數(shù)封裝到消息體中進(jìn)行傳遞,對(duì)于特殊字符不需要進(jìn)行轉(zhuǎn)義處理,能夠傳遞的數(shù)據(jù)量大,包括圖片。2.網(wǎng)絡(luò)API查詢城市經(jīng)緯度坐標(biāo)—
字典與JSON數(shù)據(jù)json.loads():將已編碼的JSON字符串解碼為Python對(duì)象,轉(zhuǎn)換規(guī)則為:object->dict,array->list,string->str,number(int)->int,number(real)->float,true->True,false->False,null->Nonejson.dumps():將Python對(duì)象編碼成JSON字符串,轉(zhuǎn)換規(guī)則為:dict->object,list/tuple->array,str->string,int/float->number,True->true,F(xiàn)alse->false,None->null2.網(wǎng)絡(luò)API查詢城市經(jīng)緯度坐標(biāo)—
查詢城市經(jīng)緯度天地圖API返回的結(jié)果GEO地圖經(jīng)緯度josn文件格式2.網(wǎng)絡(luò)API查詢城市經(jīng)緯度坐標(biāo)—
查詢城市經(jīng)緯度3.創(chuàng)建城市人口分布GEO地圖獲取湖南省14個(gè)地州市的人口數(shù)只需要使用前2列數(shù)據(jù),字典讀取,key為:city和population3.創(chuàng)建城市人口分布GEO地圖zip函數(shù)組合列表[‘北京‘,’天津‘,’河北‘,’山西‘,'內(nèi)蒙古'][21893095,13866009,74610235,34915616,……]3.創(chuàng)建城市人口分布GEO地圖準(zhǔn)備數(shù)據(jù)繪制GEO地圖創(chuàng)建地區(qū)/城市人口分布GEO地圖06集合Set1.集合及其基本操作關(guān)于集合集合(set)數(shù)據(jù)類型是一個(gè)無(wú)序的不重復(fù)元素序列Python中的集合(set)與數(shù)學(xué)中的集合概念類似,用于保存不重復(fù)的元素可以使用大括號(hào){}或者set()函數(shù)創(chuàng)建集合,每一個(gè)集合的數(shù)據(jù)項(xiàng)之間用逗號(hào)分隔開,但創(chuàng)建一個(gè)空集合必須用set()而不是一對(duì)空花括號(hào){}集合的元素只能是不可變數(shù)據(jù)類型,如整數(shù)、浮點(diǎn)數(shù)、字符串、元組等,不能是列表、字典等可變數(shù)據(jù)類型1.集合及其基本操作集合的計(jì)算交集&:A&B或A.intersection(B),返回一個(gè)新的集合,包括同時(shí)在集合A和B中的共同元素差集-:A-B或A.difference(B),返回一個(gè)新的集合,包括在集合A中但不在集合B中的元素并集|:A|B或A.union(B),返回一個(gè)新的集合,包括集合A和B中所有元素。補(bǔ)集^:A^B
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機(jī)原理課程設(shè)計(jì)開關(guān)
- 現(xiàn)場(chǎng)健身課程設(shè)計(jì)論文
- 液壓吊車課程設(shè)計(jì)
- 給水排水課程設(shè)計(jì)感悟
- 2024甘肅省建筑安全員《A證》考試題庫(kù)及答案
- 組態(tài)課程設(shè)計(jì)鍋爐溫度
- 繼電器課程設(shè)計(jì)
- 泵蓋課程設(shè)計(jì)
- 穩(wěn)性橫截曲線課程設(shè)計(jì)
- 立體場(chǎng)景動(dòng)漫課程設(shè)計(jì)
- 輻射與防護(hù)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年個(gè)人之間清賬協(xié)議書模板
- CRF病例報(bào)告表模板
- 前滾翻課件教學(xué)課件
- 路燈安裝施工檢驗(yàn)批質(zhì)量檢驗(yàn)記錄表
- 2024年計(jì)算機(jī)二級(jí)WPS考試題庫(kù)380題(含答案)
- 銷售單模板(自動(dòng)計(jì)算數(shù)字大寫、時(shí)間自動(dòng)生成)
- 2023年江蘇省五年制專轉(zhuǎn)本英語(yǔ)統(tǒng)考真題(試卷+答案)
- 藝術(shù)音樂(lè)鑒賞與實(shí)踐智慧樹知到答案2024年臨沂市信息工程學(xué)校
- 班主任技能大賽真題及答案
- 部編新人教版小學(xué)語(yǔ)文6六年級(jí)上冊(cè)(全冊(cè))教案設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論