Python數(shù)據(jù)分析 課件 項(xiàng)目4 數(shù)據(jù)分析庫pandas_第1頁
Python數(shù)據(jù)分析 課件 項(xiàng)目4 數(shù)據(jù)分析庫pandas_第2頁
Python數(shù)據(jù)分析 課件 項(xiàng)目4 數(shù)據(jù)分析庫pandas_第3頁
Python數(shù)據(jù)分析 課件 項(xiàng)目4 數(shù)據(jù)分析庫pandas_第4頁
Python數(shù)據(jù)分析 課件 項(xiàng)目4 數(shù)據(jù)分析庫pandas_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

項(xiàng)目四

數(shù)據(jù)分析庫pandas任務(wù)一Pandas數(shù)據(jù)結(jié)構(gòu)任務(wù)二導(dǎo)入數(shù)據(jù)任務(wù)三數(shù)據(jù)處理任務(wù)四數(shù)據(jù)統(tǒng)計(jì)任務(wù)五數(shù)據(jù)統(tǒng)計(jì)分析任務(wù)一Pandas數(shù)據(jù)結(jié)構(gòu)任務(wù)引入小劉接了一個數(shù)據(jù)分析的項(xiàng)目,使用Pandas進(jìn)行數(shù)據(jù)采集,最簡單的是直接定義的數(shù)組數(shù)據(jù)。那么,Pandas數(shù)據(jù)結(jié)構(gòu)有哪些?如何定義這些數(shù)組?知識準(zhǔn)備Pandas的兩個主要數(shù)據(jù)結(jié)構(gòu)為Series(一維數(shù)組結(jié)構(gòu))和DataFrame(二維數(shù)組結(jié)構(gòu))。這兩種數(shù)據(jù)結(jié)構(gòu)足以處理金融、統(tǒng)計(jì)、社會科學(xué)、工程等領(lǐng)域里的大多數(shù)據(jù)分析典型案例。對于圖所示的一個部門費(fèi)用統(tǒng)計(jì)表,統(tǒng)計(jì)一個季度內(nèi)各部門的費(fèi)用使用情況。一維數(shù)組對象Series包含列數(shù)據(jù)和列索引,如圖所示,二維數(shù)組對象DataFrame包含行、列數(shù)據(jù)和行索引、列索引,如圖所示。部門費(fèi)用統(tǒng)計(jì)表一維數(shù)組對象Series二維數(shù)組對象DataFrame一、一維數(shù)組SeriesSeries是一種類似于一維數(shù)組的對象,它由一組數(shù)據(jù)(NumPy中的數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標(biāo)簽(即索引)組成。1.創(chuàng)建Series在Pandas中,Series函數(shù)用來創(chuàng)建一維數(shù)組對象Series參數(shù)說明:data:一組數(shù)據(jù)(ndarray類型)。index:數(shù)據(jù)索引標(biāo)簽,默認(rèn)從0開始。dtype:數(shù)據(jù)類型。name:設(shè)置名稱。copy:拷貝數(shù)據(jù),默認(rèn)為False。創(chuàng)建Series對象后,可以通過設(shè)置Series屬性達(dá)到修改Series的目的,Series常用屬性見表。案例——根據(jù)圖所示的某工廠產(chǎn)量成本報表,創(chuàng)建一維數(shù)組對象案例——利用上例中的某工廠產(chǎn)量成本報表,通過定義索引屬性編輯一維數(shù)組對象2.Series常用函數(shù)Series集成了ndarray和dict的優(yōu)點(diǎn),使用ndarray或dict所有索引操作和函數(shù),常見函數(shù)見表。案例——利用某工廠產(chǎn)量成本報表,輸出指定的對象二、二維數(shù)組DataFrameDataFrame是一個表格型的數(shù)據(jù)結(jié)構(gòu),它含有一組有序的列,每列可以是不同的值類型(數(shù)值、字符串、布爾值等)。DataFrame既有行索引也有列索引,它可以被看做由Series組成的字典(共用同一個索引)。DataFrame中的數(shù)據(jù)是以一個或多個二維塊存放的,而不是列表、字典或別的一維數(shù)據(jù)結(jié)構(gòu)。1.DataFrame生成在Pandas中,DataFrame函數(shù)用來創(chuàng)建二維數(shù)組對象DataFrame案例——根據(jù)圖所示的2016年某公司職員的醫(yī)療費(fèi)用,創(chuàng)建DataFrame2.DataFrame屬性通過屬性的屬性可以查看定義的數(shù)據(jù),DataFrame常用屬性見表。案例——根據(jù)圖所示的淘寶某新開店鋪產(chǎn)品日銷售表,創(chuàng)建DataFrame.任務(wù)二導(dǎo)入數(shù)據(jù)任務(wù)引入小劉對公司的財(cái)務(wù)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,資料員發(fā)給他一堆文件,小劉使用Pandas導(dǎo)入文件數(shù)據(jù),進(jìn)行統(tǒng)計(jì)分析。那么,Pandas導(dǎo)入文件有哪些?如何進(jìn)行導(dǎo)入?文件數(shù)據(jù)是否會出現(xiàn)亂碼?如何解決數(shù)據(jù)讀取中出現(xiàn)的問題?知識準(zhǔn)備數(shù)據(jù)分析的前提是必須有數(shù)據(jù),利用最基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)元組、列表、字典和集合創(chuàng)建數(shù)據(jù)已經(jīng)無法滿足發(fā)展越來越快速的社會需求,這就需要導(dǎo)入數(shù)據(jù)。對于導(dǎo)入數(shù)據(jù)意味著從外部文件加載數(shù)據(jù),Pandas導(dǎo)入文件數(shù)據(jù)采用何種函數(shù)取決于文件的格式。根據(jù)以下標(biāo)準(zhǔn)確定使用的文件格式:二進(jìn)制文件可用來保存數(shù)值數(shù)據(jù)并訪問文件中的指定數(shù)字,或隨機(jī)訪問文件中的數(shù)字。與人可識別的文本文件不同,二進(jìn)制文件只能通過機(jī)器讀取。二進(jìn)制文件是存儲數(shù)據(jù)最為緊湊和快速的格式。如需隨機(jī)讀寫文件或讀取速度及磁盤空間有限,使用二進(jìn)制文件。在磁盤空間利用和讀取速度方面二進(jìn)制文件優(yōu)于文本文件。二進(jìn)制文件可用來保存數(shù)值數(shù)據(jù)并訪問文件中的指定數(shù)字,或隨機(jī)訪問文件中的數(shù)字。與人可識別的文本文件不同,二進(jìn)制文件只能通過機(jī)器讀取。二進(jìn)制文件是存儲數(shù)據(jù)最為緊湊和快速的格式。如需在其他應(yīng)用程序(如MicrosoftExcel)中訪問這些數(shù)據(jù),使用最常見且便于存取的XLS或XLSX件。csv文件是為了實(shí)現(xiàn)簡單的數(shù)據(jù)存儲,是一個純文本的文件,最廣泛的應(yīng)用是在程序之間轉(zhuǎn)移表格數(shù)據(jù),能夠兼容各類程序。一、讀取excel文件openpyxl模塊是一個讀寫Excel2010文檔的Python庫,能夠同時讀取和修改Excel文檔。執(zhí)行其他與Excel相關(guān)的項(xiàng)目(包括讀或者寫Excel)需要安裝、加載該模塊庫。前面已經(jīng)講解模塊庫的安裝、加載、設(shè)置,這里不再贅述。安裝openpyxl模塊后,在程序中使用該模塊庫,還需要導(dǎo)入該模塊,如importopenpyxlasop#導(dǎo)入openpyxl模塊在Pandas中,使用read_excel函數(shù)將讀取excel自帶的XLS或XLSX文件中的數(shù)據(jù)案例——導(dǎo)入圖“成本費(fèi)用表”中兩個sheet中各個產(chǎn)品的費(fèi)用Pandas中還有一些其他io函數(shù),見表。二、寫入excel文件在Pandas中,從文件讀取的數(shù)據(jù),以DataFrame或Seral格式保存在內(nèi)存中,

to_excel函數(shù)可以將數(shù)據(jù)保存為XLS或XLSX文件,該函數(shù)的使用格式如下。案例——導(dǎo)入圖中的“商品訂購單.csv”中某家具銷售公司二季度商品訂購記錄,將數(shù)據(jù)保存為“商品訂購單.xlsx”任務(wù)三數(shù)據(jù)處理任務(wù)引入小劉需要從一堆文件中,篩選出可使用的數(shù)據(jù)文件。那么,如何篩選出可用的數(shù)據(jù)?異常、重復(fù)、無用的數(shù)據(jù)如何進(jìn)行處理?知識準(zhǔn)備數(shù)據(jù)處理是從大量、雜亂無章、難以理解、缺失的數(shù)據(jù)中,抽取出有意義的數(shù)據(jù),數(shù)據(jù)處理主要包括數(shù)據(jù)清洗、數(shù)據(jù)加工等方法。一、數(shù)據(jù)清洗數(shù)據(jù)清洗是對一些沒有用的數(shù)據(jù)進(jìn)行處理的過程。在數(shù)據(jù)分析工作中,很多數(shù)據(jù)集存在數(shù)據(jù)缺失、數(shù)據(jù)格式錯誤、錯誤數(shù)據(jù)或重復(fù)數(shù)據(jù)的情況,如果要使數(shù)據(jù)分析更加準(zhǔn)確,就需要對這些沒有用的數(shù)據(jù)進(jìn)行處理。1.?dāng)?shù)據(jù)缺失在數(shù)據(jù)輸入過程中,很容易出現(xiàn)數(shù)據(jù)遺漏現(xiàn)象,pandas對象的所有描述性統(tǒng)計(jì)默認(rèn)都不包括缺失數(shù)據(jù),因此在數(shù)值數(shù)據(jù)中,pandas使用浮點(diǎn)值NaN(NotaNumber)表示缺失數(shù)據(jù)。這樣可以很明顯是的發(fā)現(xiàn)確實(shí)數(shù)據(jù),方便修改。案例——處理缺失數(shù)據(jù)案例——利用函數(shù)處理缺失數(shù)據(jù)2.重復(fù)數(shù)據(jù)unique函數(shù)用于獲取Series中的唯一值數(shù)組,刪除重復(fù)數(shù)據(jù)。3.?dāng)?shù)據(jù)格式化數(shù)據(jù)格式化可以增加數(shù)據(jù)的可讀性,如統(tǒng)一數(shù)據(jù)的小數(shù)點(diǎn)位數(shù)、添加千位分隔符,還可以實(shí)現(xiàn)特定的功能,比如轉(zhuǎn)換為百分比數(shù)據(jù),百分比數(shù)據(jù)主要用于成績分?jǐn)?shù)等統(tǒng)計(jì)計(jì)算。案例——對所有列保持統(tǒng)一精度案例——已知某小學(xué)數(shù)學(xué)、語文考試分?jǐn)?shù),從中各抽取6份進(jìn)行估測,測得數(shù)據(jù)如下:語文:95,82,79.5,87,83,86.5,數(shù)學(xué):91,95,93,96,97,98,試對學(xué)校成績進(jìn)行格式化可以設(shè)置的選項(xiàng)案例——輸入4所小學(xué)的聯(lián)考平均分,控制輸出精度、對齊數(shù)據(jù),保存到excel文件中二、數(shù)據(jù)轉(zhuǎn)換當(dāng)獲得數(shù)據(jù)時,首先需要確定的是正確類型的數(shù)據(jù),Pandas擴(kuò)展了NumPy的類型系統(tǒng),用dtype屬性來顯示元素的數(shù)據(jù)類型,Pandas主要有以下幾種數(shù)據(jù)類型:字符串類型:object整數(shù)類型:Int64,Int32,Int16,Int8無符號整數(shù):UInt64,UInt32,UInt16,UInt8浮點(diǎn)數(shù)類型:float64,float32日期和時間類型:datetime64[ns]、datetime64[ns,tz]、timedelta[ns]布爾類型:bool保存到excel文件當(dāng)利用pandas進(jìn)行數(shù)據(jù)處理的時候,經(jīng)常會遇到數(shù)據(jù)類型的問題,一般需要通過數(shù)據(jù)類型的轉(zhuǎn)化,才能進(jìn)行后續(xù)的數(shù)據(jù)操作。表4-6中列出了關(guān)于數(shù)據(jù)轉(zhuǎn)換的函數(shù)。案例——將輸入的數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)型,并分別輸出三、數(shù)據(jù)合并在實(shí)際處理數(shù)據(jù)中,經(jīng)常會遇到將多個表連接起來再進(jìn)行數(shù)據(jù)的處理和分析的情況,Pandas中也提供了幾種方法來實(shí)現(xiàn)數(shù)據(jù)合并功能。案例——使用merge函數(shù)連接兩個數(shù)組:正弦表、余弦表表中列出了其他數(shù)據(jù)合并的函數(shù)。案例——使用concat函數(shù)連接兩個數(shù)組:正弦表、余弦表任務(wù)四數(shù)據(jù)統(tǒng)計(jì)任務(wù)引入小劉將可用數(shù)據(jù)進(jìn)行處理后,下一步就是進(jìn)行數(shù)據(jù)統(tǒng)計(jì)。那么,統(tǒng)計(jì)數(shù)據(jù)的指標(biāo)有哪些,如何進(jìn)行統(tǒng)計(jì)?統(tǒng)計(jì)前還需要進(jìn)行什么操作?知識準(zhǔn)備數(shù)據(jù)統(tǒng)計(jì)是數(shù)據(jù)分析的前提,是數(shù)據(jù)收集的后處理,通過對數(shù)據(jù)的提取、清洗、查找與分類,能更精準(zhǔn)、快速的進(jìn)行數(shù)據(jù)分析。一、數(shù)據(jù)提取在數(shù)據(jù)的分析過程中,并不是所有的數(shù)據(jù)都是我們想要的,這就需要提取部分?jǐn)?shù)據(jù),從源數(shù)據(jù)中抽取部分或全部數(shù)據(jù)到目標(biāo)系統(tǒng),從而在目標(biāo)系統(tǒng)再進(jìn)行數(shù)據(jù)加工利用。但是從哪取、何時取、如何取。數(shù)據(jù)的提取過程數(shù)據(jù)提取是將數(shù)據(jù)取出的過程,不同提取規(guī)則下的數(shù)據(jù)結(jié)果很難一致。Pandas中數(shù)據(jù)抽取函數(shù)函數(shù)見表。案例——表顯示了中國8年間鋼材消耗量與國民收入之間的關(guān)系,抽取表格中的數(shù)據(jù)二、數(shù)據(jù)分類數(shù)據(jù)分類是將數(shù)據(jù)進(jìn)行一個自定義的分類,Pandas中提供cut函數(shù)實(shí)現(xiàn)數(shù)據(jù)分類案例——對中國8年間鋼材消耗量進(jìn)行分類。三、數(shù)據(jù)排序數(shù)據(jù)排序通過瀏覽數(shù)據(jù)發(fā)現(xiàn)一些明顯的特征或趨勢,找到解決問題的線索,同時,數(shù)據(jù)排序本身就是數(shù)據(jù)分析的目的之一。美國的《財(cái)富》雜志每年都要在全世界范圍內(nèi)排出500強(qiáng)企業(yè),通過這一信息,不僅可以了解自己企業(yè)所處的地位,清楚自己的差距,還可以從一個側(cè)面了解到競爭對手的狀況,有效制定企業(yè)的發(fā)展規(guī)劃和戰(zhàn)略目標(biāo)。數(shù)據(jù)排序是按一定順序?qū)?shù)據(jù)排列,Pandas提供了sort_values函數(shù)用于根據(jù)行、列數(shù)據(jù)進(jìn)行排序案例——為了考查染整工藝對布的縮水率是否有影響,選用5種不同的染整工藝分別用A1、A2、A3、A4、A5表示,每種工藝處理4塊布樣,測得縮水率的百分?jǐn)?shù)見表,試對其進(jìn)行排序。Pandas中的其余排序參數(shù)見表。案例——某倉庫超重包裹重新進(jìn)行打包,隨機(jī)抽取6個包裹進(jìn)行最大最小重量對比。測得數(shù)據(jù)如下(單位:kg):136.5,138.5,140.3,112.7,8893,154.2。試對其進(jìn)行排序四、統(tǒng)計(jì)分組統(tǒng)計(jì)分組是統(tǒng)計(jì)學(xué)的基本統(tǒng)計(jì)方法之一,使零散資料系統(tǒng)化,但怎樣使資料系統(tǒng)化,本著什么去歸類,這就取決于統(tǒng)計(jì)分組。在取得完整、正確的統(tǒng)計(jì)資料前提下,統(tǒng)計(jì)分組的優(yōu)劣是決定整個數(shù)據(jù)統(tǒng)計(jì)成敗的關(guān)鍵,它直接關(guān)系到數(shù)據(jù)分析的質(zhì)量。例如:將一所學(xué)校的人,根據(jù)老師,學(xué)生,男性,女性,年齡,成績,特長等標(biāo)志,進(jìn)行分類統(tǒng)計(jì)。1.groupby函數(shù)Pandas中的groupby函數(shù)用于對DataFrame對象進(jìn)行分組groupby函數(shù)返回包含有關(guān)組的信息的groupby對象利用groups屬性可以用來查看分組的信息,從返回的結(jié)果中可以看到不同分組的樣本在原數(shù)據(jù)框中的索引,見表。案例——已知員工醫(yī)療費(fèi)用表,試通過分組根據(jù)性別、所屬部門統(tǒng)計(jì)醫(yī)療費(fèi)用2.a(chǎn)gg函數(shù)分組最主要的作用就是對各個組別進(jìn)行分組描述,簡單來說就是將一系列復(fù)雜的數(shù)據(jù)用幾個有代表性的數(shù)據(jù)進(jìn)行描述,進(jìn)而能夠直觀的解釋數(shù)據(jù)的規(guī)律。agg函數(shù)用來分別計(jì)算分組后每個組的最大值、最小值、和,數(shù)據(jù)計(jì)算函數(shù)見表。案例——已知員工醫(yī)療費(fèi)用表,試通過分組根據(jù)性別計(jì)算和、最大值、最小值和乘積任務(wù)五數(shù)據(jù)統(tǒng)計(jì)分析任務(wù)引入小劉發(fā)現(xiàn)數(shù)據(jù)的統(tǒng)計(jì)只能得到基本的數(shù)字,無法對數(shù)據(jù)進(jìn)行針對性分析。那么,針對性的統(tǒng)計(jì)分析有哪些,有哪些參數(shù)可以體現(xiàn)這些分析結(jié)果?知識準(zhǔn)備數(shù)據(jù)的統(tǒng)計(jì)分析包括數(shù)據(jù)的離散程度分析、集中趨勢分析、頻數(shù)分析、分布以及一些基本的統(tǒng)計(jì)圖形。一、集中趨勢分析集中趨勢分析是用各種起代表值作用的量度來反映變量數(shù)值趨向中心位置的一種資料分析方法。最常用的指標(biāo)有算術(shù)平均值、幾何平均值、和中位數(shù)和眾數(shù)等。1.中位數(shù)中位數(shù)是按順序排列的一組數(shù)據(jù)中居于中間位置的數(shù).平均數(shù)是通過計(jì)算得到的,因此它會因每一個數(shù)據(jù)的變化而變化。2.眾數(shù)眾數(shù)是樣本觀測值在頻數(shù)分布表中頻數(shù)最多的那一組的組中值.在統(tǒng)計(jì)實(shí)踐中,常利用眾數(shù)來近似反映社會經(jīng)濟(jì)現(xiàn)象的一般水平,反映了一組數(shù)據(jù)的集中程度。案例——已知員工醫(yī)療費(fèi)用表,試進(jìn)行集中趨勢分析,計(jì)算平均值、中位數(shù)和眾數(shù)二、離散程度分析離散程度是指通過數(shù)據(jù)間的差異程度,用來衡量風(fēng)險大小的指標(biāo)。最常用的指標(biāo)有方差和標(biāo)準(zhǔn)差等。1.標(biāo)準(zhǔn)差標(biāo)準(zhǔn)差是最常用的反映隨機(jī)變量分布離散程度的指標(biāo)。2.方差分析方差不僅僅表達(dá)了樣本偏離均值的程度,更揭示了樣本內(nèi)部彼此波動的程度,在許多實(shí)際問題中,研究方差即偏離程度有著重要意義。3.協(xié)方差分祈系統(tǒng)的方差分析存在明顯的弊端,無法控制分析中存在的某些隨機(jī)因素,使之影響了分祈結(jié)果的準(zhǔn)確度。4.相關(guān)性分析協(xié)方差僅能進(jìn)行定性的分析,并不能進(jìn)行定量的分析,因此引出相關(guān)系數(shù)的概念。案例——讀取某公司產(chǎn)品的報價單,進(jìn)行離散程度分析三、頻數(shù)分析頻數(shù)是指變量值中代表某種特征的數(shù)(標(biāo)志值)出現(xiàn)的次數(shù)。頻數(shù)分析用于計(jì)算定類數(shù)據(jù)的選擇頻數(shù)和比例,例如調(diào)查研究對象的性別、年齡,通過這些問題可以了解研究對象的背景.頻數(shù)分析既可以用表的形式表示,也可以用圖形的形式表示。在Pandas中,count函數(shù)用來計(jì)算每個分組樣本的個數(shù),value_counts函數(shù)用于計(jì)算一個Series中各值的出現(xiàn)頻率。案例——讀取某公司產(chǎn)品的報價單,進(jìn)行頻數(shù)列表分析.項(xiàng)目總

溫馨提示

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

最新文檔

評論

0/150

提交評論