《利用Python進(jìn)行數(shù)據(jù)分析·第2版》第6章 數(shù)據(jù)加載、存儲(chǔ)與文件格式

訪問數(shù)據(jù)是使用本書所介紹的這些工具的第一步。我會(huì)著重介紹pandas的數(shù)據(jù)輸入與輸出,雖然別的庫(kù)中也有不少以此為目的的工具。
輸入輸出通??梢詣澐譃閹讉€(gè)大類:讀取文本文件和其他更高效的磁盤存儲(chǔ)格式,加載數(shù)據(jù)庫(kù)中的數(shù)據(jù),利用Web API操作網(wǎng)絡(luò)資源。
6.1 讀寫文本格式的數(shù)據(jù)
pandas提供了一些用于將表格型數(shù)據(jù)讀取為DataFrame對(duì)象的函數(shù)。表6-1對(duì)它們進(jìn)行了總結(jié),其中read_csv和read_table可能會(huì)是你今后用得最多的。

表6-1 pandas中的解析函數(shù)
我將大致介紹一下這些函數(shù)在將文本數(shù)據(jù)轉(zhuǎn)換為DataFrame時(shí)所用到的一些技術(shù)。這些函數(shù)的選項(xiàng)可以劃分為以下幾個(gè)大類:
索引:將一個(gè)或多個(gè)列當(dāng)做返回的DataFrame處理,以及是否從文件、用戶獲取列名。
類型推斷和數(shù)據(jù)轉(zhuǎn)換:包括用戶定義值的轉(zhuǎn)換、和自定義的缺失值標(biāo)記列表等。
日期解析:包括組合功能,比如將分散在多個(gè)列中的日期時(shí)間信息組合成結(jié)果中的單個(gè)列。
迭代:支持對(duì)大文件進(jìn)行逐塊迭代。
不規(guī)整數(shù)據(jù)問題:跳過一些行、頁腳、注釋或其他一些不重要的東西(比如由成千上萬個(gè)逗號(hào)隔開的數(shù)值數(shù)據(jù))。
因?yàn)楣ぷ髦袑?shí)際碰到的數(shù)據(jù)可能十分混亂,一些數(shù)據(jù)加載函數(shù)(尤其是read_csv)的選項(xiàng)逐漸變得復(fù)雜起來。面對(duì)不同的參數(shù),感到頭痛很正常(read_csv有超過50個(gè)參數(shù))。pandas文檔有這些參數(shù)的例子,如果你感到閱讀某個(gè)文件很難,可以通過相似的足夠多的例子找到正確的參數(shù)。
其中一些函數(shù),比如pandas.read_csv,有類型推斷功能,因?yàn)榱袛?shù)據(jù)的類型不屬于數(shù)據(jù)類型。也就是說,你不需要指定列的類型到底是數(shù)值、整數(shù)、布爾值,還是字符串。其它的數(shù)據(jù)格式,如HDF5、Feather和msgpack,會(huì)在格式中存儲(chǔ)數(shù)據(jù)類型。
閱讀全文:http://t.cn/Ru3CZe5