云應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn) 課件 單元3、4 航班數(shù)據(jù)采集及可視化分析、我的記賬本_第1頁(yè)
云應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn) 課件 單元3、4 航班數(shù)據(jù)采集及可視化分析、我的記賬本_第2頁(yè)
云應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn) 課件 單元3、4 航班數(shù)據(jù)采集及可視化分析、我的記賬本_第3頁(yè)
云應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn) 課件 單元3、4 航班數(shù)據(jù)采集及可視化分析、我的記賬本_第4頁(yè)
云應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn) 課件 單元3、4 航班數(shù)據(jù)采集及可視化分析、我的記賬本_第5頁(yè)
已閱讀5頁(yè),還剩215頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

云應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)1單元3航班數(shù)據(jù)采集及可視化分析部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析使用多進(jìn)程采集上海浦東機(jī)場(chǎng)離港航班數(shù)據(jù)及其可視化分析綜合實(shí)訓(xùn)--粵港澳大灣區(qū)五個(gè)機(jī)場(chǎng)航班數(shù)據(jù)爬取及分析單元3—航班數(shù)據(jù)采集及可視化分析知識(shí)目標(biāo):掌握Python中列表、元組的使用掌握Python中字典的使用掌握Python中鏈?zhǔn)讲僮鞯氖褂谜莆誔ython中函數(shù)的使用掌握爬蟲(chóng)技術(shù)的知識(shí)掌握多進(jìn)程編程的知識(shí)掌握數(shù)據(jù)分析的知識(shí)掌握可視化技術(shù)的知識(shí)能力目標(biāo):能使用列表、元組和字典存儲(chǔ)數(shù)據(jù)能使用函數(shù)進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)能使用Python熟練操作數(shù)據(jù)文件能夠在AmazonEC2實(shí)例上安裝部署JupyterNotebook開(kāi)發(fā)環(huán)境能夠使用特定模板部署AmazonEC2實(shí)例能夠使用AmazonSageMaker創(chuàng)建筆記本實(shí)例能使用Notebook開(kāi)發(fā)Python程序能使用AmazonS3存取數(shù)據(jù)能使用鏈?zhǔn)讲僮鬟M(jìn)行復(fù)雜代碼的開(kāi)發(fā)能使用threading包進(jìn)行多線(xiàn)程程序開(kāi)發(fā)能使用requests包進(jìn)行爬蟲(chóng)數(shù)據(jù)開(kāi)發(fā)能使用BeautifulSoup包解析文檔能使用Multiprocessing包設(shè)計(jì)多進(jìn)程應(yīng)用程序能使用Pandas包進(jìn)行數(shù)據(jù)分析程序開(kāi)發(fā)能使用pyecharts包進(jìn)行可視化表達(dá)項(xiàng)目3.1安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境安裝預(yù)置了開(kāi)發(fā)環(huán)境的Amazon實(shí)例在AmazonSageMaker控制臺(tái)中創(chuàng)建筆記本實(shí)例使用ssh客戶(hù)端遠(yuǎn)程登錄AmazonEC2實(shí)例

以AmazonAWS為例,在云計(jì)算環(huán)境中進(jìn)行軟件開(kāi)發(fā)具有諸多優(yōu)點(diǎn),譬如,用戶(hù)無(wú)需考慮硬件投入、部署速度快、組織靈活性高等。特別是使用云平臺(tái)上的計(jì)算實(shí)例進(jìn)行開(kāi)發(fā)工作,是很多開(kāi)發(fā)人員的選擇。Linux操作系統(tǒng)能夠運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議,逐漸成為功能完善、穩(wěn)定的操作系統(tǒng),在個(gè)人電腦和服務(wù)器中具有很高的占有率。設(shè)計(jì)數(shù)據(jù)采集及可視化分析程序,開(kāi)發(fā)人員可以在AmazonEC2實(shí)例中搭建Python開(kāi)發(fā)環(huán)境,也可以使用預(yù)先配置好開(kāi)發(fā)環(huán)境的模板安AmazonEC2實(shí)例。本任務(wù)首先要求在亞馬遜云科技管理控制臺(tái)中創(chuàng)建AmazonEC2實(shí)例,之后在AmazonEC2實(shí)例中安裝配置JupyterNotebook。項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境一、任務(wù)描述3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境

JupyterNotebook是一種以網(wǎng)頁(yè)形式打開(kāi)的Web應(yīng)用程序,可以在Web頁(yè)面中輸入說(shuō)明文檔、數(shù)學(xué)方程、代碼和可視化內(nèi)容,代碼的運(yùn)行結(jié)果可以直接在代碼塊下顯示。如果開(kāi)發(fā)人員在開(kāi)發(fā)過(guò)程中需要編寫(xiě)說(shuō)明文檔,可在Notebook的同一個(gè)頁(yè)面中直接編寫(xiě),而無(wú)需另外編寫(xiě)單獨(dú)的文檔,便于作及時(shí)的說(shuō)明和解釋。其主要特點(diǎn)包括:1) 編程時(shí)具有語(yǔ)法高亮、自動(dòng)縮進(jìn)、Tab自動(dòng)補(bǔ)全的功能。2) 可直接通過(guò)瀏覽器運(yùn)行代碼,同時(shí)在代碼塊下方展示運(yùn)行結(jié)果。3) 以富媒體格式展示計(jì)算結(jié)果。富媒體格式包括Html、LaTeX、png和svg等格式或標(biāo)準(zhǔn)。4) 對(duì)代碼編寫(xiě)說(shuō)明文檔或語(yǔ)句時(shí),支持Markdown語(yǔ)法。5) 支持使用LaTeX編寫(xiě)數(shù)學(xué)公式。上述特性和優(yōu)勢(shì)使得JupyterNotebook迅速成為數(shù)據(jù)分析和機(jī)器學(xué)習(xí)等開(kāi)發(fā)人員的必備工具。JupyterNotebook介紹及其特點(diǎn)項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境二、知識(shí)要點(diǎn)3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境登錄亞馬遜云科技中國(guó)區(qū)管理控制臺(tái)進(jìn)入亞馬遜云官方主頁(yè)三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境登錄亞馬遜云科技中國(guó)區(qū)管理控制臺(tái)點(diǎn)擊‘我的賬戶(hù)’‘管理控制臺(tái)’三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境登錄亞馬遜云科技中國(guó)區(qū)管理控制臺(tái)進(jìn)入登錄界面三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境登錄亞馬遜云科技中國(guó)區(qū)管理控制臺(tái)單擊‘服務(wù)’--‘EC2’三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境登錄亞馬遜云科技中國(guó)區(qū)管理控制臺(tái)進(jìn)入EC2管理界面三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境開(kāi)始創(chuàng)建AmazonEC2實(shí)例單擊‘啟動(dòng)實(shí)例’三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境開(kāi)始創(chuàng)建AmazonEC2實(shí)例進(jìn)入選擇系統(tǒng)映像的界面三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step1:選擇AmazonEC2實(shí)例模板(AMI)開(kāi)始創(chuàng)建AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,選擇AmazonEC2實(shí)例模板三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step2:選擇AmazonEC2實(shí)例的實(shí)例類(lèi)型開(kāi)始創(chuàng)建AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,選擇AmazonEC2實(shí)例類(lèi)型三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step3:配置該AmazonEC2實(shí)例實(shí)例的具體信息創(chuàng)建并配置AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,配置AmazonEC2實(shí)例的網(wǎng)絡(luò)等具體信息三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step4:配置該AmazonEC2實(shí)例實(shí)例的存儲(chǔ)創(chuàng)建并配置AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,配置AmazonEC2實(shí)例的存儲(chǔ)三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step5:為該AmazonEC2實(shí)例實(shí)例添加標(biāo)簽創(chuàng)建并配置AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,添加AmazonEC2實(shí)例標(biāo)簽三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step5:為該AmazonEC2實(shí)例實(shí)例添加標(biāo)簽創(chuàng)建并配置AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,添加AmazonEC2實(shí)例標(biāo)簽三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step6:為該AmazonEC2實(shí)例實(shí)例配置安全組創(chuàng)建并配置AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,配置安全組三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step6:為該AmazonEC2實(shí)例實(shí)例配置安全組創(chuàng)建并配置AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,配置安全組三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step7:審核AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,審核EC2實(shí)例三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施Step7:審核AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,審核EC2實(shí)例3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施Step8:選擇現(xiàn)有密鑰或者創(chuàng)建新密鑰對(duì)創(chuàng)建并配置AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,創(chuàng)建密鑰對(duì)3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施Step8:選擇現(xiàn)有密鑰或者創(chuàng)建新密鑰對(duì)創(chuàng)建并配置AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,創(chuàng)建密鑰對(duì)3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step9:查看AmazonEC2實(shí)例狀態(tài)創(chuàng)建并配置AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,查看實(shí)例狀態(tài)三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step10:修改、編輯AmazonEC2實(shí)例狀態(tài)和信息創(chuàng)建并配置AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,修改和編輯實(shí)例狀態(tài)和信息三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step10:修改、編輯AmazonEC2實(shí)例狀態(tài)和信息創(chuàng)建并配置AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例,查看實(shí)例狀態(tài)為‘stopped’,表示該實(shí)例是停止?fàn)顟B(tài)三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step1:下載支持Python3.8的Anaconda安裝包sudowget/archive/Anaconda3-2020.07-Linux-x86_64.sh在AWSEC2實(shí)例中安裝使用JupyterNotebook下載支持Python3.8的Anaconda安裝包,遠(yuǎn)程登錄EC2實(shí)例,在命令行輸入執(zhí)行下述命令,便可下載,下載完成后查看存在該文件的路徑三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step2:修改安裝包的權(quán)限sudochmodu+xAnaconda3-2020.07-Linux-x86_64.sh在AWSEC2實(shí)例中安裝使用JupyterNotebook修改安裝包權(quán)限,使用下述命令修改安裝包權(quán)限三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step2:修改安裝包的權(quán)限sudochmod700Anaconda3-2020.07-Linux-x86_64.sh在AWSEC2實(shí)例中安裝使用JupyterNotebook修改安裝包權(quán)限,使用下述命令修改安裝包權(quán)限三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step3:安裝Anaconda開(kāi)發(fā)環(huán)境sudo./Anaconda3-2020.07-Linux-x86_64.sh在AWSEC2實(shí)例中安裝使用JupyterNotebook安裝Anaconda開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step3:安裝Anaconda開(kāi)發(fā)環(huán)境在AWSEC2實(shí)例中安裝使用JupyterNotebook安裝Anaconda開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step3:安裝Anaconda開(kāi)發(fā)環(huán)境在AWSEC2實(shí)例中安裝使用JupyterNotebook安裝Anaconda開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step3:安裝Anaconda開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境在AWSEC2實(shí)例中安裝使用JupyterNotebook安裝Anaconda開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step4:配置PATH環(huán)境變量echo$PATH在AWSEC2實(shí)例中安裝使用JupyterNotebook配置PATH環(huán)境變量三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step4:配置PATH環(huán)境變量exportPATH=/usr/anaconda3/bin:$PATHsource~/.bashrcecho$PATHwhichjupyter-notebook在AWSEC2實(shí)例中安裝使用JupyterNotebook配置PATH環(huán)境變量三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step5:配置JupyterNotebook遠(yuǎn)程訪(fǎng)問(wèn)jupyternotebook--generate-config在AWSEC2實(shí)例中安裝使用JupyterNotebook配置JupyterNotebook遠(yuǎn)程訪(fǎng)問(wèn)三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step5:配置JupyterNotebook遠(yuǎn)程訪(fǎng)問(wèn)jupyternotebookpassword在AWSEC2實(shí)例中安裝使用JupyterNotebook配置JupyterNotebook遠(yuǎn)程訪(fǎng)問(wèn)三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境vim/home/ec2-user/.jupyter/jupyter_notebook_config.py1 c.NotebookApp.ip='*'2 c.NotebookApp.open_browser=False3 c.NotebookApp.password=u'sha1:'4 c.NotebookApp.port=8888Step5:配置JupyterNotebook遠(yuǎn)程訪(fǎng)問(wèn)在AWSEC2實(shí)例中安裝使用JupyterNotebook配置JupyterNotebook遠(yuǎn)程訪(fǎng)問(wèn)三、任務(wù)實(shí)施3.1.1部署AmazonEC2實(shí)例并配置開(kāi)發(fā)環(huán)境項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境

以AmazonWebService為例,在云計(jì)算環(huán)境中進(jìn)行軟件開(kāi)發(fā)具有諸多優(yōu)點(diǎn),譬如,用戶(hù)無(wú)需考慮硬件投入、部署速度快、組織靈活性高等。特別是使用云平臺(tái)上的計(jì)算實(shí)例進(jìn)行開(kāi)發(fā)工作,是很多開(kāi)發(fā)人員的選擇。上一節(jié)講述了配置AmazonEC2實(shí)例以及開(kāi)發(fā)環(huán)境的方法,用戶(hù)需要完成較多的配置任務(wù)。為了降低用戶(hù)配置開(kāi)發(fā)環(huán)境的難度,本任務(wù)要求創(chuàng)建預(yù)制了開(kāi)發(fā)環(huán)境的AmazonEC2實(shí)例,該實(shí)例使用的模板包含了Anaconda軟件和JupyterNotebook等開(kāi)發(fā)工具。一、任務(wù)描述3.1.2安裝預(yù)置了開(kāi)發(fā)環(huán)境的AmazonEC2實(shí)例項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境

AMI(AmazonMachineImage)提供了部署實(shí)例需要的信息。用戶(hù)在創(chuàng)建實(shí)例的實(shí)例,必須指定一個(gè)AMI。用戶(hù)可以使用一個(gè)AMI創(chuàng)建多個(gè)實(shí)例。二、知識(shí)要點(diǎn)3.1.2安裝預(yù)置了開(kāi)發(fā)環(huán)境的AmazonEC2實(shí)例項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境登錄亞馬遜云科技中國(guó)區(qū)管理控制臺(tái)開(kāi)始創(chuàng)建AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例Step1:選擇實(shí)例模板(AMI)Step2:選擇AmazonEC2實(shí)例的實(shí)例類(lèi)型Step3:配置該AmazonEC2實(shí)例實(shí)例的具體信息Step4:配置該AmazonEC2實(shí)例實(shí)例的存儲(chǔ)Step5:為該AmazonEC2實(shí)例實(shí)例添加標(biāo)簽Step6:為該AmazonEC2實(shí)例實(shí)例配置安全組Step7:審核AmazonEC2實(shí)例實(shí)例Step8:選擇現(xiàn)有密鑰或者創(chuàng)建新密鑰對(duì)三、任務(wù)實(shí)施3.1.2安裝預(yù)置了開(kāi)發(fā)環(huán)境的AmazonEC2實(shí)例創(chuàng)建安裝預(yù)置了開(kāi)發(fā)專(zhuān)精的AmazonEC2實(shí)例的邏輯結(jié)構(gòu)圖項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境Step1:選擇實(shí)例模板(AMI)三、任務(wù)實(shí)施3.1.2安裝預(yù)置了開(kāi)發(fā)環(huán)境的AmazonEC2實(shí)例創(chuàng)建并配置AmazonEC2實(shí)例選擇實(shí)例模板,在EC2的詳細(xì)設(shè)置的用戶(hù)選項(xiàng)添加預(yù)置開(kāi)發(fā)環(huán)境的代碼,則可實(shí)現(xiàn)創(chuàng)建安裝預(yù)置了開(kāi)發(fā)環(huán)境的EC2實(shí)例,其他創(chuàng)建步驟與3.1.1中創(chuàng)建EC2類(lèi)似,這里就不在贅述。項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境

一、任務(wù)描述3.1.3在AmazonSageMaker控制臺(tái)中創(chuàng)建筆記本實(shí)例在之前的內(nèi)容中,介紹了創(chuàng)建AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境的兩種方法。在一些應(yīng)用場(chǎng)合,用戶(hù)僅需要JupyterNotebook開(kāi)發(fā)環(huán)境即可完成開(kāi)發(fā)任務(wù)。本任務(wù)要求在AmazonSageMaker中部署筆記本實(shí)例。項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境

在之前的內(nèi)容中,介紹了創(chuàng)建AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境的兩種方法。在一些應(yīng)用場(chǎng)合,用戶(hù)僅需要JupyterNotebook開(kāi)發(fā)環(huán)境即可完成開(kāi)發(fā)任務(wù)。本任務(wù)要求在AmazonSageMaker中部署筆記本實(shí)例。二、知識(shí)要點(diǎn)3.1.3在AmazonSageMaker控制臺(tái)中創(chuàng)建筆記本實(shí)例項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施3.1.3在AmazonSageMaker控制臺(tái)中創(chuàng)建筆記本實(shí)例登錄亞馬遜云科技中國(guó)區(qū)管理控制臺(tái)進(jìn)入Amazon控制臺(tái)后,點(diǎn)擊‘服務(wù)’‘AmazonSageMaker’項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施3.1.3在AmazonSageMaker控制臺(tái)中創(chuàng)建筆記本實(shí)例創(chuàng)建AmazonSageMaker筆記本實(shí)例進(jìn)入AmazonSageMaker管理界面,點(diǎn)左邊功能導(dǎo)航中的‘筆記本’‘筆記本實(shí)例’項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施3.1.3在AmazonSageMaker控制臺(tái)中創(chuàng)建筆記本實(shí)例創(chuàng)建AmazonSageMaker筆記本實(shí)例進(jìn)入AmazonSageMaker筆記本實(shí)例管理界面,點(diǎn)擊右上角‘創(chuàng)建筆記本實(shí)例’。項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施3.1.3在AmazonSageMaker控制臺(tái)中創(chuàng)建筆記本實(shí)例創(chuàng)建AmazonSageMaker筆記本實(shí)例進(jìn)入AmazonSageMaker筆記本設(shè)置管理界面,設(shè)置筆記本實(shí)例的詳細(xì)信息。項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施3.1.3在AmazonSageMaker控制臺(tái)中創(chuàng)建筆記本實(shí)例創(chuàng)建AmazonSageMaker筆記本實(shí)例AmazonSageMaker設(shè)置說(shuō)明。項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境

在亞馬遜云科技平臺(tái)上創(chuàng)建的AmazonEC實(shí)例運(yùn)行在云端,使用SSH協(xié)議客戶(hù)端可以方便、高效的登陸并訪(fǎng)問(wèn)蓋AmazonEC2實(shí)例。

本任務(wù)要求在Windows10操作系統(tǒng)中使用SSH協(xié)議客戶(hù)端登錄AmazonEC2實(shí)例。一、任務(wù)描述3.1.4使用ssh客戶(hù)端遠(yuǎn)程登陸登錄AmazonEC2實(shí)例項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境

SSH,即SecureShell,由IETF的網(wǎng)絡(luò)小組(NetworkWorkingGroup)制定,是一種建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議,SSH的安全性和可靠性使其成為遠(yuǎn)程登錄會(huì)話(huà)和其他網(wǎng)絡(luò)服務(wù)的常用協(xié)議。

利用SSH協(xié)議可以有效防止遠(yuǎn)程管理過(guò)程中的信息泄露問(wèn)題。SSH最初是UNIX系統(tǒng)上的一個(gè)程序,后來(lái)又迅速擴(kuò)展到其他操作平臺(tái)。SSH在正確使用時(shí)可彌補(bǔ)網(wǎng)絡(luò)中的漏洞。SSH客戶(hù)端適用于多種平臺(tái)。幾乎所有UNIX平臺(tái)—包括HP-UX、Linux、AIX、Solaris、DigitalUNIX、Irix,以及其他平臺(tái),都可運(yùn)行SSH。二、知識(shí)要點(diǎn)3.1.4使用ssh客戶(hù)端遠(yuǎn)程登陸登錄AmazonEC2實(shí)例項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施3.1.4使用ssh客戶(hù)端遠(yuǎn)程登陸登錄AmazonEC2實(shí)例獲取AmazonEC2實(shí)例的ip地址啟動(dòng)EC2實(shí)例后,選中要連接的AmazonEC2實(shí)例,在下方的‘描述’選項(xiàng)卡中,單擊公有IP有房的復(fù)制圖標(biāo),便可瀆職實(shí)例的ip地址。項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施3.1.4使用ssh客戶(hù)端遠(yuǎn)程登陸登錄AmazonEC2實(shí)例使用ssh客戶(hù)端連接到AmazonEC2實(shí)例使用ssh客戶(hù)端工具‘MobaXterm’連接到AmazonEC2實(shí)例,點(diǎn)擊‘session’—‘SSH’,填入ip地址和私有密鑰對(duì),便可連接到AmazonEC2實(shí)例項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境三、任務(wù)實(shí)施3.1.4使用ssh客戶(hù)端遠(yuǎn)程登陸登錄AmazonEC2實(shí)例使用ssh客戶(hù)端連接到AmazonEC2實(shí)例進(jìn)入ssh客戶(hù)端連接到AmazonEC2實(shí)例界面,輸入EC2的用戶(hù)名登錄EC2。項(xiàng)目3.1—安裝部署AmazonEC2實(shí)例及開(kāi)發(fā)環(huán)境項(xiàng)目3.2深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析從數(shù)據(jù)源采集深圳保安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)從數(shù)據(jù)源采集深圳保安機(jī)場(chǎng)所有進(jìn)港航班數(shù)據(jù)分析深圳寶安機(jī)場(chǎng)進(jìn)港航班機(jī)型數(shù)據(jù)可視化表達(dá)深圳寶安機(jī)場(chǎng)進(jìn)港航班機(jī)型數(shù)據(jù)

本任務(wù)要求使用數(shù)據(jù)采集技術(shù)從數(shù)據(jù)源網(wǎng)頁(yè)采集數(shù)據(jù)。具體來(lái)說(shuō),使用Requets包的工具向網(wǎng)站發(fā)送請(qǐng)求,使用Beautifulsoup包的工具解析網(wǎng)站服務(wù)器返回的html文件,從解析的文件中獲取感興趣的航班數(shù)據(jù)。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析一、任務(wù)描述3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)數(shù)據(jù)采集技術(shù)數(shù)據(jù)采集技術(shù)是利用一種裝置或技術(shù),從系統(tǒng)外部采集數(shù)據(jù)并輸入到系統(tǒng)內(nèi)部。數(shù)據(jù)采集技術(shù)廣泛應(yīng)用在各個(gè)領(lǐng)域。比如攝像頭,麥克風(fēng),都是數(shù)據(jù)采集工具。數(shù)據(jù)采集含義很廣,可以是能夠轉(zhuǎn)換為電訊號(hào)的各種物理量,如溫度、水位、風(fēng)速、壓力等,這些物理量既可以是模擬量,也可以是數(shù)字量。在互聯(lián)網(wǎng)行業(yè)快速發(fā)展的今天,數(shù)據(jù)采集已經(jīng)被廣泛應(yīng)用于互聯(lián)網(wǎng)及分布式領(lǐng)域,數(shù)據(jù)采集領(lǐng)域已經(jīng)發(fā)生了重要的變化。本單元中的數(shù)據(jù)采集技術(shù),指的是使用“爬蟲(chóng)”技術(shù),從數(shù)據(jù)源網(wǎng)站爬取數(shù)據(jù)的技術(shù)。二、知識(shí)要點(diǎn)3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析HTTPWeb服務(wù)是基于TCP的,因此為了能夠隨時(shí)響應(yīng)客戶(hù)端的請(qǐng)求,Web服務(wù)器需要監(jiān)聽(tīng)在80/TCP端口,使得客戶(hù)端瀏覽器和Web服務(wù)器之間可以通過(guò)HTTP協(xié)議進(jìn)行通信。客戶(hù)與服務(wù)器之間的HTTP連接是一種一次性連接,它限制每次連接只處理一個(gè)請(qǐng)求,當(dāng)服務(wù)器返回本次請(qǐng)求的應(yīng)答后便立即關(guān)閉連接,下次請(qǐng)求再重新建立連接。HTTP是一種無(wú)狀態(tài)協(xié)議,即服務(wù)器不保留與客戶(hù)通信時(shí)的任何狀態(tài)。這大大減輕了服務(wù)器記憶負(fù)擔(dān),從而保持較快的響應(yīng)速度。HTTP是一種面向?qū)ο蟮膮f(xié)議。允許傳送任意類(lèi)型的數(shù)據(jù)對(duì)象。它通過(guò)數(shù)據(jù)類(lèi)型和長(zhǎng)度來(lái)標(biāo)識(shí)所傳送的數(shù)據(jù)內(nèi)容和大小,并允許對(duì)數(shù)據(jù)進(jìn)行壓縮傳送。當(dāng)用戶(hù)在一個(gè)HTML文檔中定義了一個(gè)超文本鏈后,瀏覽器將通過(guò)TCP/IP協(xié)議與指定的服務(wù)器建立連接。

HTTP協(xié)議的客戶(hù)端主要是Web瀏覽器,例如Firefox、MicrosoftEdge、Googlechrome、Safari、Opera二、知識(shí)要點(diǎn)3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)Requests包Requests是關(guān)于HTTP協(xié)議的Python庫(kù)。使用requests包,用戶(hù)可以向服務(wù)器發(fā)送HTTP/1.1請(qǐng)求,無(wú)需手動(dòng)為URL添加查詢(xún)字串,也不需要對(duì)POST數(shù)據(jù)進(jìn)行表單編碼。

Requests內(nèi)部使用了urllib3,因而使用requests包發(fā)送HTTP請(qǐng)求時(shí),Keep-alive和HTTP連接池的功能是完全自動(dòng)化的。EC2實(shí)例項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)BeautifulSoup包BeautifulSoup是一個(gè)可以從HTML或XML文件中提取數(shù)據(jù)的Python庫(kù)。使用這個(gè)庫(kù),用戶(hù)可以通過(guò)喜歡的轉(zhuǎn)換器實(shí)現(xiàn)慣用的文檔導(dǎo)航、查找、修改文檔的功能。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)國(guó)際民用航空組織和ICAO代碼國(guó)際民用航空組織(ICAO,InternationalCivilAviationOrganization),其前身為根據(jù)1919年《巴黎公約》成立的空中航行國(guó)際委員會(huì)。由于第二次世界大戰(zhàn)對(duì)航空器技術(shù)發(fā)展起到了巨大的推動(dòng)作用,使得世界上已經(jīng)形成了一個(gè)包括客貨運(yùn)輸在內(nèi)的航線(xiàn)網(wǎng)絡(luò),但隨之也引起了一系列急需國(guó)際社會(huì)協(xié)商解決的政治上和技術(shù)上的問(wèn)題。因此,在美國(guó)政府的邀請(qǐng)下,52個(gè)國(guó)家于1944年11月1日至12月7日參加了在芝加哥召開(kāi)的國(guó)際會(huì)議,簽訂了《國(guó)際民用航空公約》,按照公約規(guī)定成立了臨時(shí)國(guó)際民航組織(PICAO)。

ICAO機(jī)場(chǎng)代碼是由國(guó)際民用航空組織規(guī)定,由四個(gè)英文字母組成的代碼。如:南京祿口國(guó)際機(jī)場(chǎng)的ICAO代碼是ZSNJ,其中Z代表中國(guó),S代表華東地區(qū),ZS表示中國(guó)上海飛行情報(bào)區(qū),NJ代表南京祿口國(guó)際機(jī)場(chǎng)。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)分析數(shù)據(jù)源通過(guò)超鏈接進(jìn)入進(jìn)港航班表頁(yè)面,列出了深圳寶安機(jī)場(chǎng)最近進(jìn)港的20條航班信息項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)分析數(shù)據(jù)源單擊上一圖中‘后20條’,進(jìn)入該機(jī)場(chǎng)進(jìn)港航班的第2頁(yè)。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析importrequestsfrombs4importBeautifulSoupbaseUrl='/live/airport/ZGSZ/arrivals'headers_w={

'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64;rv:78.0)

Gecko/20100101Firefox/78.0','connection':'close'

}r=requests.get(baseUrl,headers=headers_w)soup=BeautifulSoup(r.text,'html.parser')print(soup)三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)采集20條寶安機(jī)場(chǎng)到港航班數(shù)據(jù)使用Requests包的工具向頁(yè)面發(fā)送http請(qǐng)求,使用BeautifulSoup的工具對(duì)返回的html文檔進(jìn)行解析,使用Python語(yǔ)言處理文檔并獲取和存儲(chǔ)有用數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)采集20條寶安機(jī)場(chǎng)到港航班數(shù)據(jù)使用瀏覽器(比如MicrosoftEdge)打開(kāi)網(wǎng)址“/live/airport/ZGSZ/arrivals”,單擊鍵盤(pán)上的“F12”快捷鍵打開(kāi)瀏覽器自帶的頁(yè)面分析工具,可以看到20條航班信息出現(xiàn)的位置右圖所示。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析foroneRowinairlineTable[2:22]:

oneRowData=oneRow.find_all('td')

FlightIdent=oneRowData[0].get_text()

FlightType=oneRowData[1].get_text()

FlightDetailedType=oneRowData[1].find('span')['title']

FlightCompany=oneRowData[0].find('span')['title']

ifoneRowData[2].find('span',attrs={'class':'hint'})==None:FlightOriginalTitle=Noneelse:ifoneRowData[2].find('span',attrs={'class':'hint'})['title']!=None:

FlightOriginalTitle=oneRowData[2].find('span',attrs={'class':'hint'})['title']elifoneRowData[2].find('span',attrs={'class':'hint'})['original-title'!=None]:

FlightOriginalTitle=oneRowData[2].find('span',attrs={'class':'hint'})['original-title']

FlightOrigin=oneRowData[2].get_text()

FlightDepartureTime=oneRowData[3].get_text()

FlightArrivalTime=oneRowData[4].get_text()三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)采集20條寶安機(jī)場(chǎng)到港航班數(shù)據(jù)使用代碼獲取20個(gè)航班的具體信息。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析print("該進(jìn)港航班的航班編號(hào)是:",FlightIdent)print("該進(jìn)港航班的機(jī)型是:",FlightType)print("該進(jìn)港航班的機(jī)型詳細(xì)信息是:",FlightDetailedType)print("該進(jìn)港航班所屬的航空公司是:",FlightCompany)print("該進(jìn)港航班的始發(fā)地是:",FlightOrigin)print("該進(jìn)港航班的始發(fā)地詳細(xì)信息是:",FlightOriginalTitle)print("該進(jìn)港航班的出發(fā)時(shí)間是:",FlightDepartureTime)print("該進(jìn)港航班的到達(dá)時(shí)間是:",FlightArrivalTime)三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)采集20條寶安機(jī)場(chǎng)到港航班數(shù)據(jù)使用代碼清單輸出打印其中一個(gè)航班的信息。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析foroneRowinairlineTable[2:22]:

oneRowData=oneRow.find_all('td')#省略多行

FlightArrivalTime=oneRowData[4].get_text()

totalDf=totalDf.append(pd.DataFrame(

{'FlightIdent':[FlightIdent],

'FlightType':[FlightType],

'FlightDetailedType':[FlightDetailedType],

'FlightCompany':[FlightCompany],

'FlightOriginalTitle':[FlightOriginalTitle],

'FlightOrigin':[FlightOrigin],

'FlightDepartureTime':[FlightDepartureTime],

'FlightArrivalTime':[FlightArrivalTime]}),sort=False)三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)采集20條寶安機(jī)場(chǎng)到港航班數(shù)據(jù)在分析航班的for循環(huán)結(jié)構(gòu)末尾,添加代碼為totalDf賦值。代碼清單如下所示。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析totalDf=totalDf.reset_index(drop=True)print(type(totalDf),len(totalDf))print(totalDf.ix[:,0:3])三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)采集20條寶安機(jī)場(chǎng)到港航班數(shù)據(jù)使用下述代碼輸出打印totalDf的值和相關(guān)信息。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析defscracthOnePage(url,theDf):

print('當(dāng)前爬取頁(yè)面:',url)

r=requests.get(url,headers=headers_w)

soup=BeautifulSoup(r.text,'html.parser')

#省略多行

FlightArrivalTime=oneRowData[4].get_text()

totalDf=totalDf.append(pd.DataFrame(

{'FlightIdent':[FlightIdent],

'FlightType':[FlightType],

'FlightDetailedType':[FlightDetailedType],

'FlightCompany':[FlightCompany],

'FlightOriginalTitle':[FlightOriginalTitle],

'FlightOrigin':[FlightOrigin],

'FlightDepartureTime':[FlightDepartureTime],

'FlightArrivalTime':[FlightArrivalTime]}),sort=False)

returntheDf三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)采集20條寶安機(jī)場(chǎng)到港航班數(shù)據(jù)為了復(fù)用數(shù)據(jù)采集功能,將前述的數(shù)據(jù)采集功能封裝為函數(shù)scracthOnePage。該函數(shù)具有兩個(gè)參數(shù)。第一個(gè)參數(shù)url是待爬取頁(yè)面的URL地址,第二個(gè)參數(shù)theDf是存儲(chǔ)航班信息的DataFrame對(duì)象。使用該函數(shù)從url指定的頁(yè)面采集數(shù)據(jù),并將數(shù)據(jù)存儲(chǔ)到theDf對(duì)象中。該函數(shù)將的返回值是theDf對(duì)象。代碼清單如右圖所示。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)采集20條寶安機(jī)場(chǎng)到港航班數(shù)據(jù)使用右圖所示代碼清單采集深圳寶安機(jī)場(chǎng)的20條進(jìn)港航班信息,并將采集到的數(shù)據(jù)存儲(chǔ)在Excel文件“ICAO_ZGSZ_20_Airlines.xls”中。importrequestsfrombs4importBeautifulSoupimportpandasaspdbaseUrl='/live/airport/ZGSZ/arrivals'headers_w={

'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64;rv:78.0)

Gecko/20100101Firefox/78.0',

'connection':'close'

}columnList=['FlightIdent','FlightType',

'FlightDetailedType','FlightCompany',

'FlightOriginalTitle','FlightOrigin',

'FlightDepartureTime','FlightArrivalTime']totalDf=pd.DataFrame(columns=columnList)totalDf=scracthOnePage(baseUrl,totalDf)totalDf=totalDf.reset_index(drop=True)totalDf.to_excel('ICAO_ZGSZ_20_Airlines.xls')print(totalDf.ix[:,[1,2,6,7]])項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析三、任務(wù)實(shí)施3.2.1從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班信息首頁(yè)20條航班數(shù)據(jù)采集20條寶安機(jī)場(chǎng)到港航班數(shù)據(jù)運(yùn)行上述代碼后結(jié)果如左下圖所示,生成數(shù)據(jù)文件內(nèi)容如右下圖所示。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析

前面采集了寶安機(jī)場(chǎng)進(jìn)港航班的20條航班信息,這20條航班信息也是數(shù)據(jù)源首頁(yè)面記錄的20個(gè)航班。從數(shù)據(jù)源采集寶安機(jī)場(chǎng)所有進(jìn)港航班,需要采集所有頁(yè)面記錄的航班數(shù)據(jù),并將數(shù)據(jù)進(jìn)行存儲(chǔ)。

完成該任務(wù)的思路是,首先采集數(shù)據(jù)源首頁(yè)面的航班數(shù)據(jù)和相關(guān)有用信息,然后設(shè)計(jì)一個(gè)循環(huán)結(jié)構(gòu),采集第二個(gè)頁(yè)面到最后一個(gè)頁(yè)面的航班數(shù)據(jù)。循環(huán)結(jié)構(gòu)的停止條件是應(yīng)用程序已經(jīng)采集完成數(shù)據(jù)源的最后一個(gè)頁(yè)面。完成數(shù)據(jù)采集之后,將數(shù)據(jù)存儲(chǔ)到S3存儲(chǔ)桶當(dāng)中。一、任務(wù)描述3.2.2從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析1.結(jié)構(gòu)化編程

結(jié)構(gòu)化程序設(shè)計(jì)是,一種編程模式,它采用子程序、程序區(qū)塊、for循環(huán)以及while循環(huán)等結(jié)構(gòu),來(lái)取代傳統(tǒng)的goto。使用結(jié)構(gòu)化程序設(shè)計(jì),可以改善計(jì)算機(jī)程序的明晰性、品質(zhì)以及開(kāi)發(fā)時(shí)間,避免寫(xiě)出面條式代碼。2.Python中的函數(shù)

函數(shù)是組織好的,可重復(fù)使用的,用來(lái)實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。

開(kāi)發(fā)人員將常用的代碼以固定的格式封裝成一個(gè)獨(dú)立的模塊,通過(guò)模塊的名字就可以重復(fù)使用這個(gè)模塊,把這個(gè)模塊就叫做函數(shù)(Function)。

Python中函數(shù)的應(yīng)用非常廣泛,除了可以直接使用的內(nèi)置函數(shù)外,Python還支持自定義函數(shù),即將一段有規(guī)律的、可重復(fù)使用的代碼定義成函數(shù),從而達(dá)到一次編寫(xiě)、多次調(diào)用的目的。二、知識(shí)要點(diǎn)3.2.2從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析三、任務(wù)實(shí)施3.2.2從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)數(shù)據(jù)源頁(yè)面分析如前所述,數(shù)據(jù)源首頁(yè)面的底部有一個(gè)“后20條”超鏈接,單擊此鏈接,跳轉(zhuǎn)到數(shù)據(jù)源的下一個(gè)頁(yè)面,顯示另外20條航班信息,由于在該頁(yè)面之前和之后還有若干條航班信息,因而在該頁(yè)面的左下角存在“前20條”和“后20條”兩個(gè)超鏈接。如果達(dá)到了數(shù)據(jù)源的最后一個(gè)頁(yè)面,則僅顯示“前20條”超鏈接。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析defscracthOnePage(url,theDf):

print('當(dāng)前爬取頁(yè)面:',url)

r=requests.get(url,headers=headers_w)

soup=BeautifulSoup(r.text,'html.parser')

#省略多行

return(theDf,soup)三、任務(wù)實(shí)施3.2.2從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)從數(shù)據(jù)源采集更多的數(shù)據(jù)由于需要在返回的soup對(duì)象中獲取“前20條”或“后20條”這兩個(gè)字符串,因此需要修改采集首頁(yè)面航班數(shù)據(jù)的函數(shù)scracthOnePage,并將soup對(duì)象作為該函數(shù)的返回值之一,修改之后的scracthOnePage函數(shù)代碼清單如下所示。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析baseUrl='/live/airport/ZGSZ/arrivals'headers_w={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64;rv:78.0)

Gecko/20100101Firefox/78.0',

'connection':'close'

}columnList=['FlightIdent','FlightType',

'FlightDetailedType','FlightCompany',

'FlightOriginalTitle','FlightOrigin',

'FlightDepartureTime','FlightArrivalTime']totalDf=pd.DataFrame(columns=columnList)totalDf=scracthOnePage(baseUrl,totalDf)(totalDf,soup)=scracthOnePage(baseUrl,totalDf)print(soup)三、任務(wù)實(shí)施3.2.2從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)從數(shù)據(jù)源采集更多的數(shù)據(jù)使用修改后的scracthOnePage函數(shù)向數(shù)據(jù)源首頁(yè)面發(fā)送http請(qǐng)求,并查看解析的soup對(duì)象。代碼清單如左下圖所示,運(yùn)行結(jié)果如右下圖所示。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析pageCnt=2print('當(dāng)前爬取第%d頁(yè)'%(pageCnt))theOrginalPageURL=soup.find('table',attrs={'class':'fullWidth'}).find('a')['href']theNextPageUrl=theOrginalPageURL[0:4]+'s'+theOrginalPageURL[4:](totalDf,soup)=scracthOnePage(theNextPageUrl,totalDf)totalDf=totalDf.reset_index(drop=True)print("DataFrame對(duì)象存儲(chǔ)了%d條航班信息。"%len(totalDf))print(totalDf.iloc[0:5,0:3])print(totalDf.iloc[35:40,0:3])三、任務(wù)實(shí)施3.2.2從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)從數(shù)據(jù)源采集更多的數(shù)據(jù)下述代碼的第1行創(chuàng)建變量pageCnt用來(lái)存儲(chǔ)當(dāng)前采集的頁(yè)面,其初值為2,輸出打印totalDf對(duì)象的相關(guān)信息,如右下圖所示。項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析設(shè)計(jì)數(shù)據(jù)采集函數(shù)在完成了第二個(gè)頁(yè)面的數(shù)據(jù)采集之后,基于這部分代碼,設(shè)計(jì)一個(gè)循環(huán)結(jié)構(gòu),完成其他頁(yè)面的采集任務(wù)。這里,是否完成采集,是通過(guò)判斷頁(yè)面中是否有“后20條”鏈接確定的。為了統(tǒng)計(jì)采集所有數(shù)據(jù)花費(fèi)的時(shí)間,使用time包中的函數(shù),設(shè)計(jì)程序統(tǒng)計(jì)總耗時(shí)。代碼清單如右圖所示。importtime#省略多行pageCnt=2start_time=time.time()whileTrue:

start_time=time.time()

ifsoup.find('table',attrs={'class':'fullWidth'}).find('a').contents[0]=='后20條'\

orsoup.find('table',attrs={'class':'fullWidth'}).find('a').contents[0]=='Next20':

print('當(dāng)前爬取第%d頁(yè)'%(pageCnt))

theOrginalPageURL=soup.find('table',attrs={'class':'fullWidth'}).find('a')['href']

theNextPageUrl=theOrginalPageURL[0:4]+'s'+theOrginalPageURL[4:]

(totalDf,soup)=scracthOnePage(theNextPageUrl,totalDf)

pageCnt+=1

else:

breakend_time=time.time()total_time=end_time-start_timeprint('完成采集所有航班數(shù)據(jù),共耗時(shí)%.2f秒。'%total_time)三、任務(wù)實(shí)施3.2.2從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析三、任務(wù)實(shí)施設(shè)計(jì)數(shù)據(jù)采集函數(shù)運(yùn)行上述代碼,運(yùn)行結(jié)果如下圖所示??梢?jiàn),完成數(shù)據(jù)采集需要1652秒,大約28分鐘。3.2.2從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析totalDf=totalDf.reset_index(drop=True)print("DataFrame對(duì)象存儲(chǔ)了%d條航班信息。"%len(totalDf))print(totalDf.iloc[0:5,0:3])print(totalDf.iloc[len(totalDf)-5:len(totalDf),0:3])三、任務(wù)實(shí)施設(shè)計(jì)數(shù)據(jù)采集函數(shù)采用下述代碼輸出打印totalDf的部分信息。運(yùn)行結(jié)果如右圖所示3.2.2從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析importboto3totalDf.to_excel('ZGSZ_Arrivals.xlsx')s3=boto3.client('s3')response=s3.upload_file('./ZGSZ_Arrivals.xlsx',

$BUCKET_NAME,

'ZGSZ_Arrivals.xlsx')三、任務(wù)實(shí)施將采集的航班數(shù)據(jù)存儲(chǔ)到S3存儲(chǔ)桶中完成數(shù)據(jù)采集之后,將該文件存儲(chǔ)在AmazonEC2實(shí)例上,并存儲(chǔ)到S3存儲(chǔ)桶當(dāng)中,這里使用的代碼如左下圖所示,運(yùn)行上該代碼之后,存儲(chǔ)桶當(dāng)中存儲(chǔ)了該數(shù)據(jù)文件,如右下圖所示。3.2.2從數(shù)據(jù)源采集深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析

本任務(wù)要求從S3中讀取數(shù)據(jù)文件,獲取深圳寶安機(jī)場(chǎng)進(jìn)港航班并使用這些數(shù)據(jù),分析進(jìn)港航班的機(jī)型分布情況,并作可視化呈現(xiàn)。一、任務(wù)描述3.2.3分析深圳寶安機(jī)場(chǎng)進(jìn)港航班機(jī)型數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析數(shù)據(jù)分析技術(shù)數(shù)據(jù)分析是指用適當(dāng)?shù)慕y(tǒng)計(jì)分析方法對(duì)收集來(lái)的大量數(shù)據(jù)進(jìn)行分析,提取有用信息和形成結(jié)論而對(duì)數(shù)據(jù)加以詳細(xì)研究和概括總結(jié)的過(guò)程。這一過(guò)程也是質(zhì)量管理體系的支持過(guò)程。在工作和生產(chǎn)中,數(shù)據(jù)分析可幫助人們作出判斷,以便采取適當(dāng)行動(dòng)。數(shù)據(jù)分析的數(shù)學(xué)基礎(chǔ)在20世紀(jì)早期就已確立,但直到計(jì)算機(jī)的出現(xiàn)才使得實(shí)際操作成為可能,并使得數(shù)據(jù)分析得以推廣。數(shù)據(jù)分析是數(shù)學(xué)與計(jì)算機(jī)科學(xué)相結(jié)合的產(chǎn)物。在統(tǒng)計(jì)學(xué)領(lǐng)域,有些人將數(shù)據(jù)分析劃分為描述性統(tǒng)計(jì)分析、探索性數(shù)據(jù)分析以及驗(yàn)證性數(shù)據(jù)分析;其中,探索性數(shù)據(jù)分析側(cè)重于在數(shù)據(jù)之中發(fā)現(xiàn)新的特征,而驗(yàn)證性數(shù)據(jù)分析則側(cè)重于已有假設(shè)的證實(shí)或證偽。探索性數(shù)據(jù)分析是指為了形成值得假設(shè)的檢驗(yàn)而對(duì)數(shù)據(jù)進(jìn)行分析的一種方法,是對(duì)傳統(tǒng)統(tǒng)計(jì)學(xué)假設(shè)檢驗(yàn)手段的補(bǔ)充。該方法由美國(guó)著名統(tǒng)計(jì)學(xué)家約翰·圖基(JohnTukey)命名。定性數(shù)據(jù)分析又稱(chēng)為“定性資料分析”、“定性研究”或者“質(zhì)性研究資料分析”,是指對(duì)諸如詞語(yǔ)、照片、觀察結(jié)果之類(lèi)的非數(shù)值型數(shù)據(jù)(或者說(shuō)資料)的分析。用來(lái)進(jìn)行分析的數(shù)據(jù)主要來(lái)源于:搜索引擎抓取數(shù)據(jù)、網(wǎng)站IP、PV等基本數(shù)據(jù)、網(wǎng)站的HTTP響應(yīng)時(shí)間數(shù)據(jù)、網(wǎng)站流量來(lái)源數(shù)據(jù)等。

二、知識(shí)要點(diǎn)3.2.3分析深圳寶安機(jī)場(chǎng)進(jìn)港航班機(jī)型數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析CSV文件

CSV(Comma-SeparatedValues),逗號(hào)分隔值,其文件以純文本形式存儲(chǔ)表格數(shù)據(jù)(數(shù)字和文本)。CSV是一種通用的、相對(duì)簡(jiǎn)單的文件格式,被用戶(hù)、商業(yè)和科學(xué)廣泛應(yīng)用。最廣泛的應(yīng)用是在程序之間轉(zhuǎn)移表格數(shù)據(jù),而這些程序本身是在不兼容的格式上進(jìn)行操作的(往往是私有的和/或無(wú)規(guī)范的格式)。因?yàn)榇罅砍绦蚨贾С帜撤NCSV變體,至少是作為一種可選擇的輸入/輸出格式。純文本意味著CSV文件是一個(gè)字符序列,不含必須像二進(jìn)制數(shù)字那樣被解讀的數(shù)據(jù)。CSV文件由任意數(shù)目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組成,字段間的分隔符是其它其他字符或字符串,最常見(jiàn)的是逗號(hào)或制表符。通常,所有記錄都有完全相同的字段序列。通常都是純文本文件。

CSV文件格式的通用標(biāo)準(zhǔn)并不存在,但是在RFC4180中有基礎(chǔ)性的描述。使用的字符編碼同樣沒(méi)有被指定,但是7-bitASCII是最基本的通用編碼??梢允褂贸S玫奈谋揪庉嬡浖蜷_(kāi)CSV文件。

二、知識(shí)要點(diǎn)3.2.3分析深圳寶安機(jī)場(chǎng)進(jìn)港航班機(jī)型數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析Excel文件MicrosoftExcel是微軟公司的辦公軟件Microsoftoffice的組件之一,是由Microsoft為Windows和AppleMacintosh操作系統(tǒng)的電腦而編寫(xiě)和運(yùn)行的一款試算表軟件。Excel是微軟辦公套裝軟件的一個(gè)重要的組成部分,它可以進(jìn)行各種數(shù)據(jù)的處理、統(tǒng)計(jì)分析和輔助決策操作,廣泛地應(yīng)用于管理、統(tǒng)計(jì)財(cái)經(jīng)、金融等眾多領(lǐng)域。

Excel文件也是常用的數(shù)據(jù)來(lái)源。

二、知識(shí)要點(diǎn)3.2.3分析深圳寶安機(jī)場(chǎng)進(jìn)港航班機(jī)型數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析importpandasaspdimportboto3totalDf=pd.read_excel('https://$BUCKET_NAME./ZGSZ_Arrivals.xlsx')totalDf=totalDf.drop(['Unnamed:0'],axis=1)三、任務(wù)實(shí)施從S3存儲(chǔ)桶中讀取航班數(shù)據(jù)文件及預(yù)處理使用右圖所示代碼從S3的存儲(chǔ)桶$BUCKET_NAME中讀取數(shù)據(jù)文件3.2.3分析深圳寶安機(jī)場(chǎng)進(jìn)港航班機(jī)型數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析tmpDf=totalDf.drop(['FlightIdent','FlightDetailedType',\

'FlightCompany','FlightOriginalTitle',\

'FlightOrigin','FlightDepartureTime',\

'FlightArrivalTime'],

axis=1)tmpDf['FlightTypeCnt']=1tmpDf=tmpDf.groupby('FlightType').count()tmpDf=tmpDf.sort_values(by='FlightTypeCnt',ascending=False)

.reset_index(drop=False)三、任務(wù)實(shí)施分析深圳寶安機(jī)場(chǎng)進(jìn)港航班機(jī)型數(shù)量需要對(duì)航班的機(jī)型進(jìn)行分析,因此可以將機(jī)型“FlightType”之外的列刪除掉,并增加值為1的新列“FlightTypeCnt”。新增加的列用來(lái)存儲(chǔ)統(tǒng)計(jì)的機(jī)型結(jié)果。使用的代碼清單如下所示:3.2.3分析深圳寶安機(jī)場(chǎng)進(jìn)港航班機(jī)型數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析defgetFlightTypeRank(AirLineDf):

tmpDf=totalDf.drop(['FlightIdent','FlightDetailedType',\

'FlightCompany','FlightOriginalTitle',\

'FlightOrigin','FlightDepartureTime',\

'FlightArrivalTime'],

axis=1)tmpDf['FlightTypeCnt']=1tmpDf=tmpDf.groupby('FlightType').count()tmpDf=tmpDf.sort_values(by='FlightTypeCnt',ascending=False)

.reset_index(drop=False)returntmpDf三、任務(wù)實(shí)施設(shè)計(jì)進(jìn)港航班機(jī)型分析函數(shù)為了復(fù)用上述功能,將其封裝為函數(shù)getFlightTypeRank,該函數(shù)具有一個(gè)參數(shù),是從數(shù)據(jù)文件讀取出的DataFrame對(duì)象,該函數(shù)的返回值是經(jīng)分析處理后的DataFrame對(duì)象。代碼清單如右圖所示。3.2.3分析深圳寶安機(jī)場(chǎng)進(jìn)港航班機(jī)型數(shù)據(jù)項(xiàng)目3.2—深圳寶安機(jī)場(chǎng)進(jìn)港航班數(shù)據(jù)采集及其可視化分析flightTypeDf=getFlightTypeRank(totalDf)flightTypeList=list(flightTypeDf['Fligh

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論