ch08基于Python的數(shù)據(jù)導(dǎo)入與導(dǎo)出_第1頁(yè)
ch08基于Python的數(shù)據(jù)導(dǎo)入與導(dǎo)出_第2頁(yè)
ch08基于Python的數(shù)據(jù)導(dǎo)入與導(dǎo)出_第3頁(yè)
ch08基于Python的數(shù)據(jù)導(dǎo)入與導(dǎo)出_第4頁(yè)
ch08基于Python的數(shù)據(jù)導(dǎo)入與導(dǎo)出_第5頁(yè)
已閱讀5頁(yè),還剩17頁(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)介

基于Python的數(shù)據(jù)導(dǎo)入與導(dǎo)出新工科建設(shè)之路·數(shù)據(jù)科學(xué)與大數(shù)據(jù)系列樣本數(shù)據(jù)處理第八章01PandasSeries是一種類(lèi)似于數(shù)組的一維數(shù)據(jù)結(jié)構(gòu),它包含一系列的元素及元素對(duì)應(yīng)的標(biāo)簽。元素的標(biāo)簽被稱(chēng)為index。使用Pandas的功能之前,需要先導(dǎo)入Pandas模塊。本章的Python代碼運(yùn)行環(huán)境為IPython,版本是6.1.0,對(duì)應(yīng)的Python版本為3.6.3。SeriesSeries對(duì)象輸出的左邊一列是索引(index),右邊一列是對(duì)應(yīng)的元素值,最下面一行是元素的類(lèi)型。由于代碼中創(chuàng)建Series對(duì)象時(shí)沒(méi)有指定index,默認(rèn)創(chuàng)建的index是0~N-1的整數(shù)值,其中N是Series對(duì)象的元素個(gè)數(shù)。除了把Series看成一種類(lèi)似于數(shù)組的數(shù)據(jù)結(jié)構(gòu),還可以把它看成一種定長(zhǎng)且有序的map,map的key是index,value是Series的元素值。因此,許多map的操作可以應(yīng)用在Series上。SeriesSeries對(duì)象的index也可以通過(guò)賦值來(lái)改變。SeriesSeries對(duì)象是可變的,這意味著通過(guò)賦值能夠改變它。DataFrameDataFrame是一種帶標(biāo)簽的二維數(shù)據(jù)結(jié)構(gòu),有行索引、列索引,其中各列可以存儲(chǔ)不同的數(shù)據(jù)類(lèi)型。為了幫助理解,可以將一個(gè)DataFrame對(duì)象想象為Excel中的一張表或數(shù)據(jù)庫(kù)中的一張表。DataFrame也可以看作Series的集合,DataFrame是Pandas中最常用的數(shù)據(jù)結(jié)構(gòu)。構(gòu)造一個(gè)DataFrame對(duì)象有多種方式,其中常用的一種方式是基于dict構(gòu)造。DataFrame的各列是有序排列的,可以在創(chuàng)建時(shí)傳遞columns參數(shù)調(diào)整順序,而index參數(shù)為每一行指定了一個(gè)index。columns參數(shù)中指定的列如果不存在,那么創(chuàng)建的DataFrame對(duì)象中的對(duì)應(yīng)列值均為NaN,表示一個(gè)不可用的值。使用類(lèi)似于獲取dict值的語(yǔ)法,能夠獲取DataFrame對(duì)象的一列,存放在Series對(duì)象中。DataFrame02文本文件的導(dǎo)入與導(dǎo)出CSV(CommaSeparatedValues,逗號(hào)分隔的值).CSV文件是一種比較簡(jiǎn)單的文本,廣泛用于存儲(chǔ)表格式的行列數(shù)據(jù),可以直接使用Excel軟件打開(kāi)。Pandas提供了read_csv函數(shù),用于導(dǎo)入CSV文件,并得到一個(gè)DataFrame對(duì)象。此外,Pandas還提供了read_table函數(shù),能夠?qū)胗闷渌指舴念?lèi)CSV文件。在IPython中,可以使用!語(yǔ)法運(yùn)行外部命令。cat是Linux上的一個(gè)命令,用于將文件內(nèi)容顯示在屏幕上,在Windows環(huán)境下可以用type命令顯示文件。導(dǎo)入CSV文件可以使用read_csv函數(shù)將文件內(nèi)容讀入一個(gè)DataFrame對(duì)象。Pandas還提供另外一個(gè)函數(shù)read_table函數(shù),可以用于讀入CSV文件。testl.csv文件的第一行指定了各列的名稱(chēng),但是很多時(shí)候CSV文件沒(méi)有這樣的名稱(chēng)行。導(dǎo)入CSV文件Pandas也提供了反向的操作,能夠?qū)ataFrame導(dǎo)出為CSV格式的文件。read_csv函數(shù)的返回值是一個(gè)DataFrame對(duì)象,它具有to_csv方法,能夠達(dá)到導(dǎo)出的目的。導(dǎo)出CSV文件DataFrame中的缺失值默認(rèn)使用空字符串,narep參數(shù)可以改變這一行為。to_csv的默認(rèn)行為會(huì)輸出index列和標(biāo)題行,如果不希望輸出這些,可以將index和header均設(shè)置為False。如果不希望輸出所有列,可以使用columns參數(shù)選擇只輸出一部分。導(dǎo)出CSV文件JSON格式數(shù)據(jù)的導(dǎo)入與導(dǎo)出JSON(JavaScriptObjeetNotation,JS對(duì)象簡(jiǎn)譜)格式在Web中使用非常廣泛,常用于前端網(wǎng)頁(yè)的JavaScript腳本和后端Web服務(wù)器交換數(shù)據(jù)。與表格型的數(shù)據(jù)相比,JSON格式的數(shù)據(jù)更加復(fù)雜和靈活,能夠表達(dá)類(lèi)似于樹(shù)結(jié)構(gòu)的數(shù)據(jù)。現(xiàn)存多種庫(kù)和工具用于JSON格式數(shù)據(jù)的處理。對(duì)常規(guī)的任務(wù),使用Python語(yǔ)言?xún)?nèi)置的JSON模塊是最方便的。在使用JSON模塊之前應(yīng)先導(dǎo)入它。JSON模塊的load函數(shù)能夠?qū)隞SON數(shù)據(jù),返回值是一個(gè)dict對(duì)象。JSON模塊的dump函數(shù)提供了反向的功能,將一個(gè)dict對(duì)象導(dǎo)出為JSON格式的文件。JSON格式數(shù)據(jù)的導(dǎo)入與導(dǎo)出03Excel文件的導(dǎo)入與導(dǎo)出Excel是微軟的經(jīng)典之作,在日常工作中的數(shù)據(jù)整理、分析和可視化方面,有其獨(dú)到的優(yōu)勢(shì)。但如果數(shù)據(jù)量超大,Excel的劣勢(shì)也就隨之而來(lái),甚至因?yàn)閮?nèi)存溢出無(wú)法打開(kāi)文件,后續(xù)的分析更是難上加難。本節(jié)介紹使用Python的Pandas解決此問(wèn)題,即通過(guò)Pandas完成讀/寫(xiě)Excel。Excel文件的導(dǎo)入與導(dǎo)出Pandas會(huì)默認(rèn)讀取Excel文件中的第1個(gè)工作表,也就是默認(rèn)名為Sheetl的工作表。Excel文件的導(dǎo)入與導(dǎo)出Pandas讀取Excel可以通過(guò)readexcel函數(shù)將工作表讀取成DataFrame。04數(shù)據(jù)庫(kù)的導(dǎo)入與導(dǎo)出將關(guān)系數(shù)據(jù)庫(kù)的表格數(shù)據(jù)導(dǎo)入成Pandas的DataFrame并不難理解。Pandas連接關(guān)系數(shù)據(jù)庫(kù)需要Python連接對(duì)應(yīng)數(shù)據(jù)庫(kù)的客戶(hù)端,以MySQL數(shù)據(jù)庫(kù)為例,Python連接它的庫(kù)有幾種,最常用的是PyMySQL,用戶(hù)可以通過(guò)pip或者Anaconda方式進(jìn)行安裝。關(guān)系數(shù)據(jù)庫(kù)的導(dǎo)入與導(dǎo)出非關(guān)系數(shù)據(jù)庫(kù)(NoSQL)具有多種多樣的存儲(chǔ)方式和產(chǎn)品實(shí)現(xiàn)。其中,MongoDB是一種廣泛使用的NoSQL。本節(jié)以MongoDB為例進(jìn)行講述。MongoDB的基本存儲(chǔ)單元是一種類(lèi)似于dict的對(duì)象。類(lèi)似于常見(jiàn)的關(guān)系數(shù)據(jù)庫(kù),MongoDB采用了客戶(hù)-服務(wù)器架構(gòu),作為用戶(hù),首先需要建立與服務(wù)端的連接。這里使用PyMongo(包)與MongoDB服務(wù)端進(jìn)行交互,這是MongoDB官方提供的模塊,用戶(hù)可以通過(guò)pip或者Anac

溫馨提示

  • 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)論