Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用(微課版)課件全套 馮向科 1.1 初識數(shù)據(jù)分析-模塊9 數(shù)據(jù)分析與可視化綜合實戰(zhàn)_第1頁
Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用(微課版)課件全套 馮向科 1.1 初識數(shù)據(jù)分析-模塊9 數(shù)據(jù)分析與可視化綜合實戰(zhàn)_第2頁
Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用(微課版)課件全套 馮向科 1.1 初識數(shù)據(jù)分析-模塊9 數(shù)據(jù)分析與可視化綜合實戰(zhàn)_第3頁
Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用(微課版)課件全套 馮向科 1.1 初識數(shù)據(jù)分析-模塊9 數(shù)據(jù)分析與可視化綜合實戰(zhàn)_第4頁
Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用(微課版)課件全套 馮向科 1.1 初識數(shù)據(jù)分析-模塊9 數(shù)據(jù)分析與可視化綜合實戰(zhàn)_第5頁
已閱讀5頁,還剩599頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊1認知數(shù)據(jù)分析與構(gòu)建程序運行環(huán)境1.1初識數(shù)據(jù)分析什么是數(shù)據(jù)分析呢?數(shù)據(jù)分析是指用合適的統(tǒng)計方法及工具,對收集來的大量原始數(shù)據(jù)進行處理分析,對處理過的數(shù)據(jù)進行分類解析,為了提取有價值信息和形成有效結(jié)論而對數(shù)據(jù)加以詳細研究和概括總結(jié)的過程。以求最大化發(fā)揮數(shù)據(jù)的作用,推動業(yè)務(wù)的發(fā)展。1.1.1數(shù)據(jù)分析定義1.1.2比較數(shù)據(jù)分析與數(shù)據(jù)挖掘1.數(shù)據(jù)分析(1)數(shù)據(jù)分析的基本定義數(shù)據(jù)分析是指根據(jù)分析目的,用適當?shù)慕y(tǒng)計分析方法及工具,對收集來的數(shù)據(jù)進行處理與分析,提取有價值的信息,形成結(jié)論,發(fā)揮數(shù)據(jù)的作用。數(shù)據(jù)分析可以幫助人們作出判斷,以便采取適當行動。數(shù)據(jù)分析是數(shù)學(xué)與計算機科學(xué)相結(jié)合的產(chǎn)物。1.1.2比較數(shù)據(jù)分析與數(shù)據(jù)挖掘(2)數(shù)據(jù)分析的主要作用數(shù)據(jù)分析主要實現(xiàn)三大作用:現(xiàn)狀分析、原因分析、預(yù)測分析(定量)。數(shù)據(jù)分析的目標明確,先做假設(shè),然后通過數(shù)據(jù)分析來驗證假設(shè)是否正確,從而得到相應(yīng)的結(jié)論。1.1.2比較數(shù)據(jù)分析與數(shù)據(jù)挖掘(3)數(shù)據(jù)分析的主要方法主要采用對比分析、分組分析、交叉分析、回歸分析等常用分析方法。(4)數(shù)據(jù)分析的輸出結(jié)果數(shù)據(jù)分析通常會得到一個指標統(tǒng)計量結(jié)果,例如總和、平均值等,這些指標數(shù)據(jù)都需要與業(yè)務(wù)結(jié)合進行解讀,才能發(fā)揮出數(shù)據(jù)的價值與作用。1.1.2比較數(shù)據(jù)分析與數(shù)據(jù)挖掘2.數(shù)據(jù)挖掘數(shù)據(jù)挖掘一般是指從大量數(shù)據(jù)中通過算法搜索隱藏于其中信息的過程。數(shù)據(jù)挖掘通常與計算機科學(xué)有關(guān),并通過統(tǒng)計計算、分析處理、情報檢索、機器學(xué)習(xí)、專家系統(tǒng)和模式識別等諸多方法來實現(xiàn)上述目標。1.1.2比較數(shù)據(jù)分析與數(shù)據(jù)挖掘3.比較狹義的數(shù)據(jù)分析和廣義的數(shù)據(jù)分析完整的數(shù)據(jù)分析包括基本的數(shù)據(jù)分析和深入的數(shù)據(jù)挖掘兩個部分,數(shù)據(jù)分析可以分為廣義的數(shù)據(jù)分析和狹義的數(shù)據(jù)分析。狹義的數(shù)據(jù)分析其主要目標就是生成可視化圖表,并通過這些圖表來洞察業(yè)務(wù)中的問題。廣義的數(shù)據(jù)分析包括狹義的數(shù)據(jù)分析和數(shù)據(jù)挖掘,即不僅要通過數(shù)據(jù)實現(xiàn)對業(yè)務(wù)的監(jiān)控和分析,還要利用機器學(xué)習(xí)算法,找出隱藏在數(shù)據(jù)背后的知識,并利用這些知識為將來的決策提供支撐。我們通常所說的數(shù)據(jù)分析就是指狹義的數(shù)據(jù)分析。1.1.2比較數(shù)據(jù)分析與數(shù)據(jù)挖掘(1)基本的數(shù)據(jù)分析工作基本的數(shù)據(jù)分析工作一般包含以下幾個方面的內(nèi)容,當然因為行業(yè)和工作內(nèi)容的不同會略有差異。?確定目標(輸入)?獲取數(shù)據(jù)?清洗數(shù)據(jù)?數(shù)據(jù)透視?數(shù)據(jù)報告(輸出)?分析洞察(后續(xù))1.1.2比較數(shù)據(jù)分析與數(shù)據(jù)挖掘(2)深入的數(shù)據(jù)挖掘工作深入的數(shù)據(jù)挖掘工作應(yīng)該包含以下幾個方面的內(nèi)容,當然因為行業(yè)和工作內(nèi)容的不同會略有差異。?確定目標(輸入)?數(shù)據(jù)準備?數(shù)據(jù)加工?數(shù)據(jù)建模?模型評估?模型部署(輸出)1.1.2比較數(shù)據(jù)分析與數(shù)據(jù)挖掘4.數(shù)據(jù)分析與數(shù)據(jù)挖掘的主要區(qū)別數(shù)據(jù)分析是對數(shù)據(jù)的一種操作手段或者算法,其目標是針對先驗的約束,對數(shù)據(jù)進行整理、篩選、加工,由此得到信息。數(shù)據(jù)挖掘是對數(shù)據(jù)分析手段后的信息,進一步進行價值化的分析。數(shù)據(jù)分析的結(jié)果是信息,這些信息作為數(shù)據(jù),由數(shù)據(jù)去挖掘。而數(shù)據(jù)挖掘,又使用了數(shù)據(jù)分析的手段,周而復(fù)始。數(shù)據(jù)分析和數(shù)據(jù)挖掘的最大區(qū)別在于,數(shù)據(jù)分析是以輸入的數(shù)據(jù)為基礎(chǔ),通過先驗的約束,對數(shù)據(jù)進行處理,其重點在于數(shù)據(jù)的有效性、真實性和先驗約束的正確性。而數(shù)據(jù)挖掘則不同,數(shù)據(jù)挖掘是對信息的價值化的獲取。價值化自然不考慮數(shù)據(jù)本身,而是考慮數(shù)據(jù)是否有價值。1.1.3數(shù)據(jù)分析在企業(yè)經(jīng)營決策的主要作用在企業(yè)的經(jīng)營決策中,數(shù)據(jù)分析具有以下三大作用。1.現(xiàn)狀分析——透過表面現(xiàn)象挖掘背后本質(zhì)2.原因分析——異常情況下的影響因素探析3.預(yù)測分析——探求未來發(fā)展趨勢與走向1.1.4常用數(shù)據(jù)分析框架常用的數(shù)據(jù)分析框架有:PEST、5W2H、SWOT、4P理論、邏輯樹、客戶生命周期等。1.1.5常用數(shù)據(jù)分析方法常用的數(shù)據(jù)分析方法有:趨勢分析、多維分解、用戶分群、漏斗分析、留存分析、A/B測試、對比分析、交叉分析。1.1.6常用數(shù)據(jù)分析工具與類庫類庫是用來實現(xiàn)各種功能的類的集合,Python本身的數(shù)據(jù)分析功能不是很強,需要借助一些功能強大的第三方擴展庫來增強其數(shù)據(jù)分析能力,常用的擴展庫有NumPy、Pandas、Matplotlib、SciPy、Seaborn和Scikit-learn等,這些庫在數(shù)據(jù)分析中起著很重要的作用,有關(guān)這些庫的使用將在后面模塊中做詳細介紹。1.NumPyNumPy(NumericalPython)是Python科學(xué)計算的基礎(chǔ)包,是機器學(xué)習(xí)框架的基礎(chǔ)類庫。1.1.6常用數(shù)據(jù)分析工具與類庫2.PandasPandas是Python數(shù)據(jù)分析的核心庫,它是基于NumPy構(gòu)建的含有復(fù)雜數(shù)據(jù)結(jié)構(gòu)和工具的數(shù)據(jù)分析包。Pandas納入大量庫和標準數(shù)據(jù)模型,提供了大量的可快速便捷處理數(shù)據(jù)的函數(shù)和高效操作大型數(shù)據(jù)集所需的工具。Pandas圍繞Series和DataFrame這兩個核心數(shù)據(jù)結(jié)構(gòu)展開的,而Series和DataFrame分別對應(yīng)于一維序列和二維表結(jié)構(gòu)。Pandas提供了復(fù)雜精細的索引功能,以便快捷地完成切片、切塊、聚合、選取數(shù)據(jù)子集、重塑和處理缺失值等操作。1.1.6常用數(shù)據(jù)分析工具與類庫3.MatplotlibMatplotlib是最流行的用于繪制數(shù)據(jù)圖表的Python庫,能夠根據(jù)我們提供的數(shù)據(jù)創(chuàng)建高質(zhì)量的圖形。Matplotlib中應(yīng)用較為廣泛的模塊是pyplot,該模塊提供了一套與MATLAB類似的繪圖API,可以方便用戶快速繪制2D圖表,例如折線圖、柱狀圖、條形圖、直方圖、散點圖、餅圖等。Matplotlib使用NumPy進行數(shù)組運算,并調(diào)用一系列其他的Python庫來實現(xiàn)交互功能。Matplotlib庫中還提供了名為pylab的模塊,其中包括了許多NumPy和pyplot中常用的函數(shù),方便用戶快速進行計算和繪圖。1.1.6常用數(shù)據(jù)分析工具與類庫4.SciPySciPy是一個專門用于科學(xué)計算的開源Python庫,它建立在NumPy的基礎(chǔ)上,提供了一個用在Python中進行科學(xué)計算的工具集。SciPy完善了NumPy的功能,封裝了大量科學(xué)計算的算法,包括線性代數(shù)、稀疏矩陣、信號和圖像處理、最優(yōu)化問題、常微分方程數(shù)值求解、快速傅里葉變換等。1.1.6常用數(shù)據(jù)分析工具與類庫5.SeabornSeaborn是一個基于Matplotlib的可視化工具,它提供了一種高度交互式界面,便于用戶能夠做出各種有吸引力的統(tǒng)計圖形。Seaborn在Matplotlib的基礎(chǔ)上進行了更高級的封裝,提供了很多高級封裝的函數(shù),幫助數(shù)據(jù)分析人員快速繪制美觀的圖形,從而使得圖形繪制更加方便快捷,在大多數(shù)情況下,Seaborn可以讓用戶以更簡潔有效的方式繪制出很具有吸引力的圖形,Seaborn能高度兼容NumPy與Pandas數(shù)據(jù)結(jié)構(gòu),Seaborn是Matplotlib的補充,有助于更高效地觀察分析數(shù)據(jù)。1.1.6常用數(shù)據(jù)分析工具與類庫6.pyecharts庫pyecharts是一個強大的可視化庫,相比于matplotlib來說,具有強大的可交互功能,除了可以生成靜態(tài)圖像,還可以生成html格式圖像。使用pyecharts可以生成獨立的網(wǎng)頁,也可以在flask、Django中集成使用。1.1.6常用數(shù)據(jù)分析工具與類庫7.Scikit-learnScikit-learn最初是SciPy的一部分,它是Python數(shù)據(jù)科學(xué)運算的核心,提供了大量機器學(xué)習(xí)可能用到的工具,包括:數(shù)據(jù)預(yù)處理、監(jiān)督學(xué)習(xí)(分類、回歸)、無監(jiān)督學(xué)習(xí)(聚類)、模式選擇、交叉檢驗等。Scikit-learn是一個簡單有效的數(shù)據(jù)挖掘和數(shù)據(jù)分析工具,是一個專門針對機器學(xué)習(xí)應(yīng)用而開發(fā)的Python開源庫,Scikit-learn是建立在NumPy、SciPy和Matplotlib的基礎(chǔ)上的,對一些常用的算法進行了封裝,利用這幾大模塊的優(yōu)勢,可以大大提高機器學(xué)習(xí)的效率。Scikit-learn簡稱為Sklearn,其基本功能主要包括:分類、回歸、聚類、數(shù)據(jù)降維、特征提取、模型選擇、數(shù)據(jù)預(yù)處理和模型評估。1.1.7數(shù)據(jù)分析過程中遇到的常見數(shù)據(jù)問題數(shù)據(jù)分析過程中常見的數(shù)據(jù)問是如下:(1)數(shù)據(jù)缺失(2)數(shù)據(jù)重復(fù)(3)數(shù)據(jù)異常(4)數(shù)據(jù)冗余(5)數(shù)據(jù)值沖突(6)數(shù)據(jù)噪聲快樂學(xué)習(xí)高效學(xué)習(xí)祝學(xué)習(xí)進步!Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊1認知數(shù)據(jù)分析與構(gòu)建程序運行環(huán)境1.2熟悉與準備數(shù)據(jù)分析的編程環(huán)境1.下載與安裝Python掃描二維碼,瀏覽下載與安裝Python的過程與方法。2.進入python的交互式界面打開【命令提示符】窗口,在命令提示符后輸入命令“python”,按【Enter】鍵,出現(xiàn)如圖1-1所示的信息。同時進入python的交互式界面,提示符為“>>>”,等待用戶輸入python命令。1.2.1熟悉與使用Python的交互式編程環(huán)境1.2.1熟悉與使用Python的交互式編程環(huán)境圖1-1【命令提示符】窗口1.2.1熟悉與使用Python的交互式編程環(huán)境在提示符>>>后面輸入命令:print("Goodluck"),然后按【Enter】鍵執(zhí)行該命令,輸出結(jié)果如下:Goodluck如圖1-2所示。圖1-2在【命令提示符】窗口執(zhí)行命令1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境1.JupyterNotebook概述JupyterNotebook是基于網(wǎng)頁的用于交互計算的開源Web應(yīng)用程序,可以用于代碼編寫、文檔撰寫、代碼運行和結(jié)果展示。簡單的說,可以在網(wǎng)頁中直接編寫代碼和運行代碼,代碼的運行結(jié)果也會直接在代碼塊下方進行展示。如在編寫代碼的過程中需要編寫說明文檔,可在同一個頁面中使用Markdown格式進行編寫,而且可以直接看到渲染后的效果。1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境2.下載與安裝Anaconda對于個人用戶來說,可以從Anaconda的官方網(wǎng)站下載它的“個人版(IndividualEdition)”安裝程序,安裝完成后,計算機上不僅擁有了Python環(huán)境和Spyder(類似于PyCharm的集成開發(fā)工具),還擁有了與數(shù)據(jù)科學(xué)工作相關(guān)的近200個工具包,包括我們Python數(shù)據(jù)分析的三大神器(NumPy、Pandas、Matplotlib)。除此之外,Anaconda還提供了一個名為conda的包管理工具,通過這個工具不僅可以管理Python的工具包,還可以用于創(chuàng)建運行Python程序的虛擬環(huán)境。1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境3.安裝數(shù)據(jù)分析的相關(guān)依賴項在啟動JupyterNotebook之前,建議先安裝好數(shù)據(jù)分析相關(guān)依賴項,包括之前提到的三大神器以及相關(guān)依賴項,包括:NumPy、Pandas、Matplotlib、openpyxl、xlrd、xlwt等。如果使用Anaconda,則無需單獨安裝。如果已經(jīng)啟動了JupyterNotebook但尚未安裝相關(guān)依賴庫,例如NumPy,可以在Jupyter的單元格中輸入命令:!pipinstallnumpy,并運行該單元格來安裝NumPy,其他庫的安裝方法類似。安裝成功后選擇【Kernel】(服務(wù))菜單的【Restart】(重啟)命令選項來重啟Notebook內(nèi)核來使新安裝的庫生效。1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境4.安裝和運行JupyterNotebook(1)使用Anaconda安裝JupyterNotebook對于Python初學(xué)者,建議使用Anaconda發(fā)行版安裝Python和Jupyter,其中包括Python、JupyterNotebook和其他常用的科學(xué)計算和數(shù)據(jù)科學(xué)軟件包。首先,下載Anaconda,建議下載Anaconda的最新Python3版本。其次,請按照前述安裝過程安裝Anaconda。1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境4.安裝和運行JupyterNotebook(2)使用pip命令安裝JupyterNotebook對于安裝了Python環(huán)境但是沒有安裝Anaconda的用戶,可以使用Python的包管理工具pip來安裝JupyterNotebook。在Windows10系統(tǒng)中打開命令行窗口,在該窗口通過命令pipinstalljupyter安裝JupyterNotebook即可。1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境5.配置JupyterNotebook的默認路徑JupyterNotebook安裝完成后,先不要急于啟動JupyterNotebook,先應(yīng)配置默認路徑,否則打開和保存JupyterNotebook文件默認在C盤。這里創(chuàng)建專門用來存放JupyterNotebook項目的文件夾“AnacondaProjects”,這對于不同的Python版本以及一些Python項目是非常必要的。打開Windows的命令行窗口,在該窗口命令提示符后面輸入以下命令:jupyternotebook--generate-config生成默認的配置文件jupyter_notebook_config.py其存儲位置為:C:\Users\Administrator\.jupyter\jupyter_notebook_config.py1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境5.配置JupyterNotebook的默認路徑打開jupyter_notebook_config.py配置文件,在該配置文件中查找#c.NotebookApp.notebook_dir,先把#號去掉,將值修改你要存放JupyterNotebook文件的文件夾路徑,作者計算機中為“D:\AnacondaProjects”。完整的配置語句為:c.NotebookApp.notebook_dir='D:\AnacondaProjects'以后Jupyternotebook創(chuàng)建的文件都會默認保存到這個文件夾路徑中。1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境6.啟動JupyterNotebook(1)使用桌面快捷方式【JupyterNotebook(anaconda3)】啟動JupyterNotebook右鍵單擊桌面JupyterNotebook的快捷方式,在彈出的快捷菜單中選擇【屬性】命令,打開【JupyterNotebook(anaconda3)屬性】對話框,自動切換到【快捷方式】選項卡。在該對話框的【快捷方式】選項卡中,將“目標”文本框中的內(nèi)容"%USERPROFILE%/"修改為"D:\AnacondaProjects",然后單擊【確定】按鈕關(guān)閉【JupyterNotebook(anaconda3)屬性】對話框。雙擊桌面的快捷方式【JupyterNotebook(anaconda3)】,再次打開JupyterNotebook,可以發(fā)現(xiàn)工作文件夾已經(jīng)修改為剛才所設(shè)置的文件夾“D:\AnacondaProjects”了。1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境6.啟動JupyterNotebook(2)使用jupyternotebook命令方式啟動JupyterNotebook成功安裝JupyterNotebook后,啟動JupyterNotebook很簡單,只需要在Terminal(Mac/Linux)或CommandPrompt(Windows)中運行以下命令,就會在當前操作的文件夾下啟動JupyterNotebook。jupyternotebook(3)Windows用戶使用【開始】菜單【JupyterNotebook】選項啟動JupyterNotebook1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境7.認知JupyterNotebook【Home】頁面(1)JupyterNotebook界面的左邊選項JupyterNotebook界面的左邊選項有以下3項:①Files選項卡對應(yīng)文件列表。②Running選項卡是一個可以看到命令行窗口和notebooks文件運行的管理窗口,好像計算機的任務(wù)管理器,如圖1-9所示。1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境7.認知JupyterNotebook【Home】頁面(1)JupyterNotebook界面的左邊選項JupyterNotebook界面的左邊選項有以下3項:①Files選項卡對應(yīng)文件列表。②Running選項卡是一個可以看到命令行窗口和notebooks文件運行的管理窗口,好像計算機的任務(wù)管理器,如圖1-9所示。圖1-9JupyterNotebook界面的Running選項卡1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境③Clusters選項卡為跳轉(zhuǎn)頁面,可以看到有關(guān)安裝詳細信息:“ClusterstabisnowprovidedbyIPythonparallel.See'IPythonparallel'forinstallationdetails.”。(2)Jupyternotebook界面的右邊選項Jupyternotebook界面的右側(cè)上方的【Quit】和【Logout】分別為【退出】和【注銷】按鈕。右側(cè)中部的【Upload】按鈕用于上傳文件,【New】按鈕用于新建文件。(3)JupyterNotebook界面下邊的文件列表Jupyternotebook界面的下邊顯示文件夾和文件列表。1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境8.JupyterNotebook【Home】頁面操作文件與文件夾在JupyterNotebook界面左下方單擊【選擇】按鈕(小三角按鈕),彈出用于分類選擇文件夾或者文件的命令選項列表,如圖1-12所示。圖1-12用于分類選擇文件夾或者文件的命令選項1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境用于分類選擇文件夾或者文件的命令選項的作用如下:?Folders:選擇所有文件夾。?AllNotebooks:選擇所有Notebooks文件(.ipynb)。?Running:選擇所有在運行的文件?Files:選擇所有文件在【選擇】按鈕的下拉菜單中選擇【Files】命令,就會出現(xiàn)一排的命令選項,如圖1-13所示。1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境圖1-13用于文件操作的命令選項1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境文件操作的命令選項的功能說明如下:?Duplicate:復(fù)制。?Rename:重命名。?Move:移動(剪切)。?Download:下載。?View:視圖。?Edit:修改。?垃圾桶標志的按鈕用于刪除列表中的選擇項。如果在【選擇】按鈕的下拉菜單中選擇【AllNotebooks】或選擇【Running】,還會出現(xiàn)如下所示的命令選項:?Shutdown:關(guān)閉對于文件夾,則只有重命名、移動和刪除操作選項。1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境9.認知JupyterNotebook編輯頁面在Jupyter【Home】頁面單擊“test0101.ipynb”,打開Jupyternotebook編輯器,進入Jupyternotebook文件編輯頁面,如圖1-17所示。圖1-17Jupyternotebook文件編輯頁面1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境10.認知JupyterNotebook編輯頁面單元格代碼區(qū)在JupyterNotebook單元格代碼區(qū)可以編輯文字、編寫代碼、繪制圖片等。每一個JupyterNotebook編程環(huán)境的單元格代碼區(qū)即有影響又可以互不影響。多個運行結(jié)果可以同時在同一個界面,不像PyCharm編程環(huán)境后面運行結(jié)果會關(guān)閉前一個運行結(jié)果再顯示其運行結(jié)果。這樣可以對比結(jié)果、對比數(shù)據(jù)。所以JupyterNotebook很適合數(shù)據(jù)可視化、科學(xué)計算等等這些多數(shù)據(jù)、多展示圖形的項目測試對比。1.2.2熟悉與使用JupyterNotebook集成開發(fā)環(huán)境11.導(dǎo)入NumPy、Pandas、Matplotlib庫導(dǎo)入NumPy、Pandas、Matplotlib庫的語句如下:importnumpyasnpimportpandasaspdimportmatplotlib.pyplotasplt在導(dǎo)入庫時,使用as關(guān)鍵字為該庫名稱設(shè)置一個別名,然后就可以通過這個別名來調(diào)用庫中的變量、函數(shù)等對象。這里導(dǎo)入numpy庫時使用as關(guān)鍵字為該庫名稱設(shè)置別名為np,導(dǎo)入pandas庫時使用as關(guān)鍵字為該庫名稱設(shè)置別名為pd,導(dǎo)入matplotlib庫時使用as關(guān)鍵字為該庫名稱設(shè)置別名為plt。1.2.3熟悉與使用PyCharm集成開發(fā)環(huán)境1.下載與安裝PyCharm掃描二維碼,瀏覽下載與安裝PyCharm的過程與方法。2.配置與使用PyCharm掃描二維碼,瀏覽配置與使用PyCharm的過程與方法??鞓穼W(xué)習(xí)高效學(xué)習(xí)祝學(xué)習(xí)進步!Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊2數(shù)據(jù)分析應(yīng)用Python2.1Python的編碼規(guī)范與命名要求Python的主要特點如下:(1)Python是一種解釋型編程語言,Python語言語法和結(jié)構(gòu)相對簡單,便于專注于數(shù)據(jù)分析的新手快速掌握。(2)Python語言擁有與數(shù)據(jù)分析相關(guān)的大量開源庫和分析框架,可直接使用,非常方便。(3)Python其實不是只能用于數(shù)據(jù)分析,它還有很多其他方面的用途。1.Python的主要特點2.Python3默認的編碼格式與字符所占的字節(jié)數(shù)在默認情況下,Python3源碼文件以UTF-8編碼,所有字符串都是unicode字符串。當然也可以為源碼文件指定不同的編碼格式。Python中,不同類型的字符所占的字節(jié)數(shù)也不同,數(shù)字、英文字母、小數(shù)點、下劃線、空格等半角字符只占一個字節(jié);漢字在GB2312/GBK編碼中占2個字節(jié),在UTF-8/Unicode中一般占用3個字節(jié)。3.Python的編碼規(guī)范Python基本的編碼規(guī)范如下:①每個import語句只導(dǎo)入一個模塊,盡量避免一次導(dǎo)入多個模塊。②不要在行尾添加分號“;”,也不要使用分號“;”將兩條語句寫在同一行。③建議每行不超過80個字符,如果超過,建議使用小括號“()”將多行內(nèi)容隱式的連接起來,而不推薦使用反斜杠“\”進行連接。3.Python的編碼規(guī)范④使用必要的空行可以增加代碼的可讀性。一般在函數(shù)或者類的定義之間空兩行,而類內(nèi)方法定義之間空一行。另外,在用于分隔某些功能的位置也可以空一行。⑤通常情況下,運算符兩側(cè)、函數(shù)參數(shù)之間、逗號“,”兩側(cè)都建議使用一個空格進行分隔。⑥盡量避免在循環(huán)結(jié)構(gòu)中使用“+”和“+=”運算符累加字符串。推薦將每個子字符加入列表,然后在循環(huán)結(jié)束后使用join()方法連接列表。⑦適當使用異常處理結(jié)構(gòu)提高程序容錯性,但不能過多依賴異常處理結(jié)構(gòu),適當?shù)娘@式判斷一覺是必要的。快樂學(xué)習(xí)高效學(xué)習(xí)祝學(xué)習(xí)進步!Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊2數(shù)據(jù)分析應(yīng)用Python2.2Python轉(zhuǎn)義字符與注釋在需要在字符中使用特殊字符時,Python使用反斜杠(\)表示轉(zhuǎn)義字符。例如:使用橫向制表符\t和換行符\n將一行變成多行輸出,且添加空白:>>>print("\tI\n\tlove\n\tPython")運行結(jié)果如下:

IlovePython2.2.1Python轉(zhuǎn)義字符2.2.1Python轉(zhuǎn)義字符如果不想讓反斜杠發(fā)生轉(zhuǎn)義,可以在字符串前面添加一個r,表示原始字符串原樣輸出,不會發(fā)生轉(zhuǎn)義。這里的r指raw,即rawstring。例如:>>>print('D:\some\name')執(zhí)行結(jié)果如下:D:\someame>>>print(r'D:\some\name')執(zhí)行結(jié)果如下:D:\some\name2.2.1Python轉(zhuǎn)義字符另外,反斜杠可以作為續(xù)行符,在每行最后一個字符后使用反斜線來表示下一行是上一行邏輯上的延續(xù),例如:>>>bookData=["1","HTML5+CSS3移動Web開發(fā)實戰(zhàn)","58.00",\"50676377587","人民郵電出版社"]print(bookData)執(zhí)行結(jié)果如下:['1','HTML5+CSS3移動Web開發(fā)實戰(zhàn)','58.00','50676377587','人民郵電出版社']還可以使用"""…"""或者'''…'''跨越多行。使用三引號時,換行符不需要轉(zhuǎn)義,它們會包含在字符串中。2.2.2Python程序的注釋注釋是指在代碼中對代碼功能進行解釋說明的提示性內(nèi)容,可以提高代碼的可讀性。注釋的內(nèi)容將被Python解釋器忽略,并不會在運行結(jié)果中體現(xiàn)出來。在Python中,通常包括兩種類型的注釋,分別是單行注釋和多行注釋??鞓穼W(xué)習(xí)高效學(xué)習(xí)祝學(xué)習(xí)進步!Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊2數(shù)據(jù)分析應(yīng)用Python2.3Python3數(shù)據(jù)類型及其應(yīng)用Python3中有6個標準的數(shù)據(jù)類型:Numbers(數(shù)值)、String(字符串)、List(列表)、Tuple(元組)、Sets(集合)、Dictionaries(字典)。其中,不可變數(shù)據(jù)有3個,包括Number(數(shù)值)、String(字符串)、Tuple(元組);可變數(shù)據(jù)有3個,包括List(列表)、Dictionary(字典)、Set(集合)。Python數(shù)值型數(shù)據(jù)類型用于存儲數(shù)字形式的數(shù)值,就像大多數(shù)編程語言一樣,數(shù)值類型的賦值和計算都是很直觀的。Python3中數(shù)值型類型可以細分為4種:int(整數(shù),如3)、float(浮點數(shù),如1.23、3E-2)、complex(復(fù)數(shù),如1+2j、1.1+2.2j)和bool(布爾型,如True)。2.3.1Python3的數(shù)值類型2.3.2Python字符串操作與計算Python不支持單字符類型,單字符在Python中也是作為一個字符串使用,一個字符就是長度為1的字符串。在Python3中,所有的字符串都是Unicode字符串。字符串可以按字面自動連接,例如"this""is""string"會被自動轉(zhuǎn)換為thisisstring。字符串可以用運算符“+”連接在一起,用運算符“*”重復(fù)顯示。1.Python字符串的基本操作(1)創(chuàng)建字符串(2)訪問字符串中的值(3)截取字符串(4)連接字符串(5)復(fù)制字符串(6)修改與添加字符串中的字符2.3.2Python字符串操作與計算2.字符串運算符Python字符串運算符如表2-12所示。表2-2中實例中變量a的值為字符串"Hello",變量b值為"Python"。序號操作符說明實例結(jié)果1+字符串連接a+bHelloPython2*重復(fù)輸出字符串a(chǎn)*2HelloHello3[]通過索引獲取字符串中字符a[1]e4[:]截取字符串中的一部分,遵循左閉右開原則,str[0:2]是不包含第3個字符的a[1:4]ell5in成員運算符:如果字符串中包含給定的字符返回True,否則返回False'H'inaTrue6notin成員運算符:如果字符串中不包含給定的字符返回True,否則返回False'M'notinaTrue7r/R原始字符串:所有的字符串都是直接按照字面的字符串輸出,沒有轉(zhuǎn)義或不能打印的字符。原始字符串除在字符串的第一個引號前加上字母r(可以大小寫)以外,與普通字符串有著幾乎完全相同的語法print(r'\n')print(R'\n')\n\n表2-2Python字符串運算符2.3.2Python字符串操作與計算3.計算Python字符串長度、最大與最小的字符(1)計算字符串長度Python中使用len()方法計算字符串的長度,其基本語法格式如下:len(string)該方法返回字符串的長度,默認情況下,計算字符串的長度時,不區(qū)分英文字母、數(shù)字和漢字,所有字符每個字符的長度都計為“1”。例如:>>>str="python">>>print(len(str))62.3.2Python字符串操作與計算3.計算Python字符串長度、最大與最小的字符(2)計算字符串中最大與最小的字符①max(str)max(str)方法返回字符串str中最大的字符。②min(str)min(str)方法返回字符串str中最小的字符。2.3.2Python字符串操作與計算4.分割字符串split()方法可以實現(xiàn)字符串分割,也就是將一個字符串按照指定的分隔符分隔為字符串列表,該列表的元素中,不包括分隔符。其基本語法格式如下:split([sep[,max=string.count(str)]])其中,sep用于指定分隔符,可以包含多個字符,默認為None,即所有空字符(包括空格,換行符“\n”、制表符“t”等)。max為可選參數(shù),用于指定分割的次數(shù),如果不指定或者為-1,則分割次數(shù)沒有限制,否則返回結(jié)果中元素個數(shù)最多為max。如果不指定sep參數(shù),那么也不能指定max參數(shù)。2.3.2Python字符串操作與計算4.分割字符串例如:>>>str="hellopython">>>print(str.split(''))['hello','python']>>>print(str.split('',0))['hellopython']2.3.2Python字符串操作與計算5.替換字符串replace()用于替換字符串中部分字符或子字符串,其基本語法格式如下:replace(str1,str2[,max])該方法將字符串中的str1替換成str2,如果max指定,則替換不超過max次。例如:>>>str="python">>>print(str.replace('',''))#刪除字符串中的全部空格python2.3.2Python字符串操作與計算6.Python字符串的格式化輸出Python支持字符串的格式化輸出,Python2.6開始,新增了一種格式化字符串的方法format(),它增強了字符串格式化的功能。如果希望print()函數(shù)輸出的形式更加多樣,可以使用str.format()方法來格式化輸出值,字符串格式化是為了實現(xiàn)字符串和變量同時輸出時按一定的格式顯示。2.3.3Python列表創(chuàng)建與應(yīng)用1.創(chuàng)建Python列表Python中列表是由一系列按特定順序排列的元素組成,列表元素寫在方括號“[]”內(nèi)、兩個相鄰元素使用逗號“,”分隔。列表中元素的類型可以不相同,因為各個列表元素之間沒有相關(guān)關(guān)系,列表支持數(shù)字,字符串甚至可以包含列表(即列表嵌套)。(1)使用賦值運算符直接創(chuàng)建列表可以使用賦值運算符“=”直接將一個列表賦值給變量,其基本語法格式如下:變量名稱=[元素1,元素2,元素3,…,元素n]2.3.3Python列表創(chuàng)建與應(yīng)用1.創(chuàng)建Python列表(2)創(chuàng)建空列表Python中,可以創(chuàng)建空列表,基本語法格式如下:變量名=[](3)使用list()函數(shù)創(chuàng)建數(shù)值列表Python中,可以使用list()函數(shù)創(chuàng)建數(shù)值列表,基本語法格式如下:list(data)其中,data表示可以轉(zhuǎn)換為列表的數(shù)據(jù),其類型可以是range對象、字符串、元組或者其他可迭代類型的數(shù)據(jù)。2.3.3Python列表創(chuàng)建與應(yīng)用1.創(chuàng)建Python列表(2)創(chuàng)建空列表Python中,可以創(chuàng)建空列表,基本語法格式如下:變量名=[](3)使用list()函數(shù)創(chuàng)建數(shù)值列表Python中,可以使用list()函數(shù)創(chuàng)建數(shù)值列表,基本語法格式如下:list(data)其中,data表示可以轉(zhuǎn)換為列表的數(shù)據(jù),其類型可以是range對象、字符串、元組或者其他可迭代類型的數(shù)據(jù)。2.3.3Python列表創(chuàng)建與應(yīng)用1.創(chuàng)建Python列表Python中還可以使用嵌套列表,即在列表里創(chuàng)建其它列表,例如:>>>x=['a','b','c']>>>n=[1,2,3]>>>list=[x,n]>>>list運行結(jié)果為:[['a','b','c'],[1,2,3]]>>>list[0]運行結(jié)果為:['a','b','c']>>>list[0][1]運行結(jié)果為:'b'2.3.3Python列表創(chuàng)建與應(yīng)用2.Python列表基本操作(1)訪問列表元素(2)截取列表(3)連接與重復(fù)列表(4)修改與添加列表元素(5)刪除列表元素2.3.3Python列表創(chuàng)建與應(yīng)用3.Python列表運算符Python列表運算符的運算實例如表2-3所示。序號python表達式運算結(jié)果說明1[1,2,3]+[4,5,6][1,2,3,4,5,6]組合2['go!']*3['go!','go!','go!']重復(fù)33in[1,2,3]True元素是否存在于列表中4forxin[1,2,3]:print(x,end="")123迭代表2-3Python列表運算符的運算實例2.3.3Python列表創(chuàng)建與應(yīng)用Python中列表的成員運算符有:in和notin,in用于檢查指定元素是否是列表成員,即檢查列表中是否包含了指定元素?;菊Z法格式如下:元素in列表例如:>>>list=[1,2,3,4]>>>3inlist運行結(jié)果如下:True如果在列表中存在指定元素,則返回值為True,否則返回值為Fasle。2.3.3Python列表創(chuàng)建與應(yīng)用Python中,也可以使用notin檢查指定元素是否不包含在指定的列表中。基本語法格式如下:元素notin列表例如:>>>list=[1,2,3,4]>>>5notinlist運行結(jié)果如下:True2.3.4Python元組的創(chuàng)建與應(yīng)用1.創(chuàng)建Python元組(1)使用賦值運算符創(chuàng)建元組(2)創(chuàng)建空元組(3)創(chuàng)建只包含一個元素的元組(4)創(chuàng)建元素類型不同的元組(5)使用tuple()函數(shù)創(chuàng)建數(shù)值元組2.3.4Python元組的創(chuàng)建與應(yīng)用2.Python元組基本操作(1)訪問元組元素(2)截取元組(3)連接與重復(fù)元組(4)修改元組元素(5)刪除元組元素2.3.4Python元組的創(chuàng)建與應(yīng)用3.Python元組運算符元組運算符的運算實例如表2-4所示。表2-4元組運算符的運算實例序號Python表達式結(jié)果說明1(1,2,3)+(4,5,6)(1,2,3,4,5,6)連接2('Go!',)*3('Go!','Go!','Go!')復(fù)制33in(1,2,3)True元素是否存在4foritemin(1,2,3):print(item,end="")123迭代2.3.5Python字典創(chuàng)建與應(yīng)用1.創(chuàng)建Python字典字典是一個無序的鍵(key):值(value)對的集合,字典以鍵為索引,一個鍵對應(yīng)一個值信息。可以存儲Python支持的任意類型對象。(1)直接使用大括號“{}”創(chuàng)建字典(2)創(chuàng)建空字典(3)通過映射函數(shù)創(chuàng)建字典(4)通過給定的“鍵參數(shù)”創(chuàng)建字典2.3.5Python字典創(chuàng)建與應(yīng)用2.Python字典基本操作(1)訪問Python字典的值(2)修改與添加Python字典的值(3)刪除Python字典元素2.3.5Python字典創(chuàng)建與應(yīng)用3.Python字典的內(nèi)置函數(shù)Python字典包含的內(nèi)置函數(shù)如表2-5所示。對于已定義的字典dict={"name":"李明","age":21,"gender":"男"},表2-5中各實例的運行結(jié)果表2-5所示。表2-5Python字典包含的內(nèi)置函數(shù)序號基本語法格式函數(shù)描述實例結(jié)果1len(dict)計算字典元素個數(shù),即鍵的總數(shù)。len(dict)32str(dict)輸出字典,以可打印的字符串表示str(dict)"{'name':'李明','age':21,'gender':'男'}"3type(variable)返回輸入的變量類型,如果變量是字典就返回字典類型type(dict)<class'dict'>2.3.6Python集合創(chuàng)建與應(yīng)用集合(sets)是一個無序的不重復(fù)元素序列,由一個或數(shù)個形態(tài)各異的大小整體組成的,構(gòu)成集合的事物或?qū)ο蠓Q作元素或是成員。也就是說,集合中的元素沒有特定順序,集合中沒有重復(fù)項。1.創(chuàng)建Python集合集合使用大括號“{}”表示,元素間用逗號分隔;集合中每個元素唯一,不存在相同元素,集合元素之間無序??梢允褂么罄ㄌ枴皗}”或者set()函數(shù)創(chuàng)建集合,創(chuàng)建一個空集合只能使用set()函數(shù)實現(xiàn),而不能使用在對大括號“{}”實現(xiàn)。因為在Python中,直接使用一對大括號“{}”表示創(chuàng)建一個空字典,而不是空集合。(1)直接使用大括號“{}”創(chuàng)建集合(2)使用set()函數(shù)創(chuàng)建2.3.6Python集合創(chuàng)建與應(yīng)用2.Python集合基本操作(1)修改與添加集合的元素(2)刪除集合元素2.3.7Python3數(shù)據(jù)類型的判斷1.使用函數(shù)type()判斷變量所指的對象類型函數(shù)type()可以用來判斷變量所指的對象類型,例如:>>>a,b,c,d=20,2.9,4+3j,True>>>print(type(a),type(b),type(c),type(d))運行結(jié)果為:<class'int'><class'float'><class'complex'><class'bool'>2.使用isinstance()判斷變量所指的對象類型函數(shù)isinstance()也可以用來判斷變量所指的對象類型,例如:>>>x=123>>>isinstance(x,int)True2.3.8Python數(shù)據(jù)類型的轉(zhuǎn)換對數(shù)據(jù)類型進行轉(zhuǎn)換,數(shù)據(jù)類型的轉(zhuǎn)換,只需要將數(shù)據(jù)類型作為函數(shù)名即可。快樂學(xué)習(xí)高效學(xué)習(xí)祝學(xué)習(xí)進步!Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊2數(shù)據(jù)分析應(yīng)用Python2.4Python運算符及其應(yīng)用1.Python的算術(shù)運算符Python的算術(shù)運算符及實例如表2-6所示。2.4.1Python算術(shù)運算符與算術(shù)表達式表2-6Python的算術(shù)運算符及實例運算符名稱說明實例輸出結(jié)果+加兩個數(shù)相加21+1031-減得到負數(shù)或是一個數(shù)減去另一個數(shù)21-1011*乘兩個數(shù)相乘或是返回一個被重復(fù)若干次的字符串21*10210/除x除以y21/102.1%取余返回除法的余數(shù),如果除數(shù)(第2個操作數(shù))是負數(shù),那么結(jié)果也是一個負值21%10121%(-10)-9**冪返回x的y次冪21**2441//取整除返回商的整數(shù)部分21//21021.0//2.010.0-21//2-112.Python算術(shù)表達式Python的算術(shù)表達式由數(shù)值類型數(shù)據(jù)與+、-、*、/等算術(shù)運算符組成,括號可以用來為運算分組。2.4.1Python算術(shù)運算符與算術(shù)表達式1.Python的賦值運算符Python的賦值運算符如表2-7所示,表2-7中變量x的初始值為0。2.4.2Python的賦值運算符與變量定義表2-7Python的賦值運算符運算符描述實例等效形式變量x的值=簡單賦值運算符x=21+10將21+10的運算結(jié)果賦值為x31+=加法賦值運算符x+=10x=x+1041-=減法賦值運算符x-=10x=x-1031*=乘法賦值運算符x*=10x=x*10310/=除法賦值運算符x/=10x=x/1031.0%=取模賦值運算符x%=10x=x%101.0**=冪賦值運算符x**=10x=x**101.0//=取整除賦值運算符x//=10x=x//100.02.變量定義及賦值等號(=)運算符用于給變量賦值,變量賦值的基本語法格式如下:<變量名>=<變量值>等號(=)運算符左邊是一個變量名,等號(=)運算符右邊是存儲在變量中的值。變量命名應(yīng)遵循Python一般標識符的命名規(guī)則,變量值可以任意數(shù)據(jù)類型。變量賦值之后,Python解釋器不會顯示任何結(jié)果。2.4.2Python的賦值運算符與變量定義2.變量定義及賦值例如:>>>width=20>>>height=5*9>>>width*height9002.4.2Python的賦值運算符與變量定義2.4.3Python的比較運算符與比較表達式比較運算符也稱為關(guān)系運算符,用于對變量或表達式的結(jié)果進行大小、真假等比較,如果比較結(jié)果為成立,則返回True,如果為不成立,則返回False。2.4.4Python的邏輯運算符與邏輯表達式邏輯運算符是對True和False兩種布爾值進行運算,運算后的結(jié)果仍是一個布爾值。2.4.5Python成員運算符Python中,要判斷特定的值是否存在序列中,可以使用關(guān)鍵字in;判斷特定的值不存在序列中,可以使用關(guān)鍵字notin。2.4.6Python運算符優(yōu)先級Python運算符的運算規(guī)則是:優(yōu)先級高的運算符先運行,優(yōu)先級低的運算符后運行,同一優(yōu)先級的運算則按照從左到右的順序進行。也可以使用小括號,改變優(yōu)先級,括號內(nèi)的運算最先運行。編寫程序時盡量使用小括號“()”來主動控制運算次序,以免運算次序不確定或發(fā)生錯誤??鞓穼W(xué)習(xí)高效學(xué)習(xí)祝學(xué)習(xí)進步!Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊2數(shù)據(jù)分析應(yīng)用Python2.5Python基本結(jié)構(gòu)及應(yīng)用1.Python的順序結(jié)構(gòu)如果沒有流程控制的話,整個程序都將按照語句的編寫順序(從上至下的順序)來運行,而不能根據(jù)需求決定程序運行的順序。2.5.1順序結(jié)構(gòu)與流程控制2.Python的流程控制Python3根據(jù)判斷條件語句的運算結(jié)果而選擇不同路徑的運行方式。Python條件語句是通過一條或多條語句的運行結(jié)果(True或者False)來決定運行的代碼塊。可以通過圖2-1來簡單了解條件語句的運行過程。如果條件表達式的值為True,則執(zhí)行代碼塊;否則不執(zhí)行代碼塊。2.5.1順序結(jié)構(gòu)與流程控制這里的條件表達式通常使用比較(關(guān)系)表達式或邏輯表達式。2.5.1順序結(jié)構(gòu)與流程控制圖2-1條件語句的運行過程示意圖2.5.2Python選擇結(jié)構(gòu)及其應(yīng)用Python中選擇語句主要有3種形式:if語句、if…else語句和if…elif…else語句。Python中的使用if…elif…else多分支語句或者if語句的嵌套結(jié)構(gòu)實現(xiàn)多重選擇。1.if語句及其應(yīng)用Python中使用if保留字來構(gòu)成選擇語句,if語句的一般形式如下:if<條件表達式>:<語句塊>條件表達式可以是一個單純的布爾值或變量,也可以是比較表達式或邏輯表達式,如果條件表達式的值為True,則運行“<語句塊>”;如果條件表達式的值為False,就跳過“<語句塊>”,繼續(xù)運行后面的語句。2.5.2Python選擇結(jié)構(gòu)及其應(yīng)用2.if…else語句及其應(yīng)用Python中if…else語句的一般形式如下:if<條件表達式>:<語句塊1>else:

<語句塊2>if…else語句主要實現(xiàn)二選一的問題,使用if…else語句時,條件表達式可以是一個單純的布爾值或變量,也可以是比較表達式或邏輯表達式,如果條件表達式的值為True,則運行if語句后面的語句塊1,否則,運行else后面的語句塊2。2.5.2Python選擇結(jié)構(gòu)及其應(yīng)用3.if…elif…else語句及其應(yīng)用Python中if…elif…else語句的一般形式如下:if<條件表達式1>:<語句塊1>elif<條件表達式2>:<語句塊2>else:<語句塊N>2.5.2Python選擇結(jié)構(gòu)及其應(yīng)用Python中用elif代替了elseif,所以多分支選擇結(jié)構(gòu)的關(guān)鍵字為:if-elif-else。if…elif…else語句運行的規(guī)則如下:條件表達式1和條件表達式2可以是一個單純的布爾值或變量,也可以是比較表達式或邏輯表達式。如果<條件表達式1>的值為True將運行<語句塊1>;如果<條件表達式1>的值為False,將判斷<條件表達式2>,如果<條件表達式2>的值為True將運行<語句塊2>;如果<條件表達式1>和<條件表達式2>的值都為False,將運行<語句塊N>。2.5.2Python選擇結(jié)構(gòu)及其應(yīng)用4.if語句的嵌套結(jié)構(gòu)Pythonif語句的嵌套結(jié)構(gòu)的一般形式如下:if<表達式11>:<語句11>if<表達式21>:<語句21>elif<表達式22>:<語句22>else:<語句23>elif<表達式12>:<語句12>else:<語句13>2.5.3for循環(huán)語句及其應(yīng)用Python中的循環(huán)語句有for和while兩種類型。1.for循環(huán)語句for循環(huán)是一個計次循環(huán),通常適用于枚舉或遍歷序列,以及迭代對象中的元素,一般應(yīng)用于循環(huán)次數(shù)已知的情況下。for循環(huán)語句的基本格式如下:for<循環(huán)變量>in<序列結(jié)構(gòu)>:<語句塊>循環(huán)變量用于保存取出的值,序列結(jié)構(gòu)為要遍歷或迭代的序列對象,例如字符串、表表、元組等,語句塊為一組被重復(fù)運行的多條語句。2.5.3for循環(huán)語句及其應(yīng)用2.for…else語句Python中的for循環(huán)語句可以有else語句,它在for循環(huán)窮盡序列導(dǎo)致循環(huán)終止時被運行,但循環(huán)被break終止時不運行。for…else語句的基本語法格式如下:for<變量>in<序列結(jié)構(gòu)>:<語句塊1>else:<語句塊2>當for循環(huán)沒有被break語句退出時,運行else語句。2.5.4while循環(huán)語句及其應(yīng)用1.while循環(huán)語句Python中while語句的一般形式:while<條件表達式>:<語句塊>while語句的條件表達式的值為True時,則運行循環(huán)體的語句塊;運行一次后,重新判斷條件表達式的值,直到條件表達式的值為False時,退出while循環(huán)。2.5.4while循環(huán)語句及其應(yīng)用2.while…else語句Python中的while循環(huán)語句也可以有else子句,它在while循環(huán)語句的條件表達式的值為False導(dǎo)致循環(huán)終止時被運行,但循環(huán)被break終止時不會運行。while…else語句的基本語法格式如下:while<判斷條件>:<語句塊1>else:<語句塊2>while循環(huán)的條件表達式為False時,當While循環(huán)沒有被break語句退出時,運行else后面的語句塊2。else語句可以理解為:作為“正?!蓖瓿裳h(huán)的獎勵。2.5.5Python循環(huán)結(jié)構(gòu)中的跳轉(zhuǎn)語句2.while…else語句Python循環(huán)中的break語句用于跳出并結(jié)束當前整個循環(huán),運行循環(huán)后的語句。continue語句用于結(jié)束當次循環(huán),繼續(xù)運行后續(xù)次數(shù)的循環(huán)??鞓穼W(xué)習(xí)高效學(xué)習(xí)祝學(xué)習(xí)進步!Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊2數(shù)據(jù)分析應(yīng)用Python2.6Python常用內(nèi)置函數(shù)及應(yīng)用Python3函數(shù)可以分為內(nèi)置函數(shù)和自定義函數(shù),Python3提供了常用的內(nèi)置函數(shù),例如,abs()、min()、str()、print()、max()、len()、list()、tuple()、map()、type()、input()等,這些內(nèi)置函數(shù)的名字也不應(yīng)該作為標識符,如果使用內(nèi)置函數(shù)的名字作為標識符,Python解釋器不會報錯,只是該內(nèi)置函數(shù)就被這個標識符覆蓋,不能使用了。2.6.1Python數(shù)學(xué)函數(shù)及應(yīng)用1.Python數(shù)學(xué)常量Python數(shù)學(xué)常量主要包括數(shù)學(xué)常量pi(圓周率,一般以π來表示)和數(shù)學(xué)常量e(自然常數(shù))。2.Python常用數(shù)學(xué)運算函數(shù)掃描二維碼,瀏覽Python常用數(shù)學(xué)運算函數(shù)的具體介紹。2.6.2Python輸入輸出函數(shù)及應(yīng)用1.print()函數(shù)及應(yīng)用在Python中,使用內(nèi)置函數(shù)print()可以將結(jié)果輸出到IDLE或者標準控制臺中。(1)print()函數(shù)的基本語法格式print()函數(shù)的基本語法格式如下:print(輸出內(nèi)容)其中,輸出內(nèi)容可以是數(shù)值,也可以是字符串,如果是字符串需要使用單引號或雙引號括起來,此類內(nèi)容將直接輸出。如果輸出內(nèi)容是包含運算符的表達式,此類內(nèi)容將計算結(jié)果輸出。2.6.2Python輸入輸出函數(shù)及應(yīng)用1.print()函數(shù)及應(yīng)用(2)換行輸出與不換行輸出在Python中,默認情況下,一條print()語句輸出后會自動換行,如果想要一次輸出多個內(nèi)容,而且不換行,print()函數(shù)需要加上end="",也可以將要輸出的內(nèi)容使用半角逗號“,”分隔予以輸出。(3)將輸出的值轉(zhuǎn)成字符串如果希望將print()函數(shù)輸出的值轉(zhuǎn)成字符串,可以使用str()或repr()函數(shù)來實現(xiàn)。str()函數(shù)返回一個用戶易讀的表達形式。repr()函數(shù)產(chǎn)生一個解釋器易讀的表達形式。2.6.2Python輸入輸出函數(shù)及應(yīng)用2.input()函數(shù)及應(yīng)用Python提供了input()內(nèi)置函數(shù)從標準輸入中讀入一行文本,默認的標準輸入是鍵盤。input()函數(shù)的基本語法格式如下:變量名=input("<提示文字>")其中,變量名為保存輸入結(jié)果的變量,雙引號內(nèi)的提示文字用于提示要輸入的內(nèi)容。在Python3中,無論輸入的是數(shù)字還是字符,輸入內(nèi)容都將被作為字符串讀取,如果想要接收的是數(shù)值,需要進行類型轉(zhuǎn)換。例,要將字符串轉(zhuǎn)換為整型數(shù)據(jù),可以使用int()函數(shù)。2.6.3Python3日期時間函數(shù)Python提供了time、datetime和calendar模塊用于格式化日期和時間。Python程序能用很多方式處理日期和時間,轉(zhuǎn)換日期格式是一個常見的功能。快樂學(xué)習(xí)高效學(xué)習(xí)祝學(xué)習(xí)進步!Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊2數(shù)據(jù)分析應(yīng)用Python2.7Python函數(shù)定義及應(yīng)用2.7.1定義Python函數(shù)Python提供了許多內(nèi)置的標準函數(shù),例如print()、input()、range()等。也可以自己創(chuàng)建函數(shù),這被稱為自定義函數(shù)??梢远x一個函數(shù)實現(xiàn)自己想要的功能,定義一個函數(shù):指定函數(shù)的名稱,指定函數(shù)里包含的參數(shù)和代碼塊結(jié)構(gòu)。Python使用def關(guān)鍵字自定義函數(shù),定義函數(shù)的一般基本語法格式如下:def函數(shù)名稱([0個或多個參數(shù)組成的參數(shù)列表]):''<注釋內(nèi)容>''<函數(shù)體>return[表達式]2.7.1定義Python函數(shù)函數(shù)定義說明如下:①函數(shù)定義部分以def關(guān)鍵詞開頭,后接函數(shù)名稱、圓括號()和半角冒號“:”,函數(shù)名稱在調(diào)用函數(shù)時使用,圓括號用于定義參數(shù),任何傳入?yún)?shù)和自變量必須放在圓括號內(nèi),如果有多個參數(shù),各參數(shù)之間使用逗號“,”分隔;如果不指定參數(shù),則表示該函數(shù)沒有參數(shù),調(diào)用函數(shù)時,也不指定參數(shù)值。函數(shù)可以有參數(shù)也可以沒有,但必須保留一對空的小括號“()”,否則會出現(xiàn)異常。②如果函數(shù)有返回值,使用return語句返回,return[表達式]用于退出函數(shù),選擇性地向調(diào)用方返回一個值。也可以讓函數(shù)返回空值,不帶表達式的return語句相當于返回None。如果函數(shù)中沒有return語句,或者省略了return語句的表達式時,將返回None,即返回空值。2.7.2調(diào)用Python函數(shù)函數(shù)定義完成后,可以通過調(diào)用該函數(shù)執(zhí)行函數(shù)代碼,實現(xiàn)其功能。可以將函數(shù)作為一個值賦值給指定變量。調(diào)用函數(shù)的基本語法格式如下:函數(shù)名稱([0個或多個參數(shù)組成的參數(shù)列表])要調(diào)用的函數(shù)名稱,必須是已經(jīng)定義好的。如果已定義的函數(shù)有參數(shù),則調(diào)用時也要指定各個參數(shù)值;如果需要傳遞多個參數(shù)值,則各參數(shù)之間使用逗號“,”分隔;如果該函數(shù)沒有參數(shù),則直接寫一對小括號“()”即可,但小括號必須保留。調(diào)用函數(shù)時,如果函數(shù)只返回一個值,該返回值可以賦值給一個變量;如果返回多個值,則可以賦值給多個變量或一個元組。2.7.3Python函數(shù)變量作用域在Python中,一般會根據(jù)變量的“有效范圍”,將變量分為“局部變量”和“全局變量”兩種類型。1.局部變量局部變量是指在函數(shù)內(nèi)部定義并使用的變量,它只在函數(shù)內(nèi)容有效,即定義在函數(shù)內(nèi)部的變量擁有一個局部作用域,函數(shù)內(nèi)部的名稱只在函數(shù)運行時才會創(chuàng)建,在函數(shù)運行之前或運行完畢,所有的局部變量的名稱都不存在了。如果在函數(shù)外部使用函數(shù)的內(nèi)部定義的變量,就會出現(xiàn)NameError異常。2.7.3Python函數(shù)變量作用域2.全局變量全局變量是指能夠作用于函數(shù)內(nèi)部和外部的變量,全局變量主要有以下兩種情況:①在函數(shù)外定義的變量擁有全局作用域。如果一個變量,在函數(shù)外部定義,那么該變量不僅可以在函數(shù)外訪問,在函數(shù)內(nèi)部也可以訪問。②對于在函數(shù)內(nèi)部定義的變量,如果使用global關(guān)鍵字聲明后,該變量也是全局變量,在函數(shù)外部也可以訪問到變量,并且在函數(shù)體內(nèi)部還可以對其進行修改,但是在其他函數(shù)內(nèi)部不能訪問??鞓穼W(xué)習(xí)高效學(xué)習(xí)祝學(xué)習(xí)進步!Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊2數(shù)據(jù)分析應(yīng)用Python2.8創(chuàng)建與導(dǎo)入Python模塊創(chuàng)建模塊可以將相關(guān)的變量定義和函數(shù)定義編寫在一個獨立的Python文件中,并且將該文件命名為“模塊名稱.py”的形式,也就是說,創(chuàng)建模塊,實際就是創(chuàng)建一個.py文件,并且模塊文件的擴展名必須是“.py”。創(chuàng)建模塊時,設(shè)置的模塊名稱盡量不要與Python自帶的標準模塊名稱重名。模塊創(chuàng)建完成后,就可以在其他程序中導(dǎo)入并使用該模塊了。2.8.1創(chuàng)建Python模塊2.8.2導(dǎo)入Python模塊Python的內(nèi)置模塊不需要安裝,但在使用內(nèi)置模塊的時候需要導(dǎo)入,例如importsys,則導(dǎo)入sys模塊。Python的模塊或程序文件中可以導(dǎo)入其他模塊的,可以使用import或者from…import語句來導(dǎo)入相應(yīng)的模塊。通常情況在一個模塊或程序文件的最前面使用import語句來導(dǎo)入一個模塊,當然這只是一個慣例,而不是強制的,被導(dǎo)入的模塊名稱將被導(dǎo)入到當前操作模塊的符號表中。1.使用import語句導(dǎo)入模塊2.使用from…import語句導(dǎo)入模塊3.使用from…import*語句導(dǎo)入模塊中的所有對象2.8.3下載與安裝第三方模塊下載和安裝第三方模塊可以使用Python提供的pip命令實現(xiàn)。pip命令的基本語法格式如下:pip<command>[modulename]其中,command用于指定要執(zhí)行的命令,常用命令有:install(用于安裝第三方模塊)、uninstall(用于卸載已經(jīng)安裝的第三方模塊)、list(用于顯示已經(jīng)安裝的第三方模塊)等。modulename為可選參數(shù),用于指定要安裝或者卸載的模塊名稱,有時還可以包括版本號,當command為install或者uninstall時不能省略。2.8.3下載與安裝第三方模塊pipinstall<模塊名稱>#安裝模塊pipinstall--upgrade<模塊名稱>#更新模塊pipuninstall<模塊名稱>#刪除模塊例如,安裝第三方模塊numpy時,可以在命令行窗口中輸入以下代碼:pipinstallnumpy執(zhí)行上面的代碼,將開始在線安裝numpy模塊??鞓穼W(xué)習(xí)高效學(xué)習(xí)祝學(xué)習(xí)進步!Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊2數(shù)據(jù)分析應(yīng)用Python2.9創(chuàng)建與使用Python包Python的包(Package)可以解決模塊名稱的沖突問題。包是一個分層的目錄結(jié)構(gòu),它將一組功能相近的模塊組織在一個文件夾中,這樣,既可以起到規(guī)范代碼的作用,又能避免模塊重名引起的命名沖突。包簡單理解就是“文件夾”,只不過在該文件夾下必須存在一個名稱為“__init__.py”的文件。實際軟件項目開發(fā)時,會創(chuàng)建多個包用于存放不同類型的文件。包是一種管理Python模塊命名空間的形式,采用“包名稱.模塊名稱”的形式。例如一個模塊的名稱是A.B,那么他表示一個包A中的子模塊B。就好像使用模塊的時候,不用擔心不同模塊之間的全局變量相互影響一樣,采用“包名稱.模塊名稱”這種形式也不用擔心出現(xiàn)不同庫之間的模塊重名的問題。快樂學(xué)習(xí)高效學(xué)習(xí)祝學(xué)習(xí)進步!Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊3數(shù)據(jù)分析應(yīng)用NumPy3.1初識NumPy1.NumPy是什么?NumPy是一個開源的、功能強大的Python科學(xué)計算庫,是Python的第三方擴展包,主要用于對多維數(shù)組執(zhí)行科學(xué)計算與快速處理,也可實現(xiàn)更高級的數(shù)據(jù)操作和科學(xué)計算。NumPy主要包括:功能強大的N維數(shù)組對象。精密廣播功能函數(shù)。集成C/C+和Fortran代碼的工具。強大的線性代數(shù)、傅立葉變換和隨機數(shù)功能。3.1.1NumPy概述3.1.1NumPy概述2.使用NumPy做數(shù)據(jù)處理有哪些優(yōu)點NumP

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論