數組數據文件的讀寫
我們還沒有講如何讀取文件中的數據。NumPy這方面的內容很重要,用處很大,尤其是在處理數組中包含大量數據的情況時。這在數據分析中很常見,因為要分析的數據集通常都很大,所以由人工來管理這類事務的執行,以及接下來的從一臺計算機或計算過程的一段會話讀取數據到另一臺計算機或另一段會話,是不可取甚至不可能的。
鑑於此,NumPy提供了幾個函數,數據分析師可用其把結果保存到文本或二進位文件中。類似地,NumPy還提供了從文件中讀取數據並將其轉換為數組的方法。
二進位文件的讀寫
NumPy的save( )方法二進位格式保存數據,load( )方法則從二進位文件中讀取數據。
假如你有一個數組要保存,例如數據分析過程中產生的結果,調用save( )函數即可,參數有兩個:要保存到的文件名和要保存的數組,其中文件名中的.npy擴展名系統會自動添加。
這時我們調用save( )方法進行數組的保存:
若要恢復存儲在.npy文件中的數據,可以使用load( )函數,用文件名作為參數,這次記得添加.npy擴展名:
讀取文件中的列表形式數據
很多時候,你要讀取文本格式的數據(如TXT或CSV)。當你使用NumPy或其他應用時,考慮到文本格式的文件不必使用這些應用也能處理,因此一般都會將數據存儲為文本格式而不是二進位格式。拿幾行CSV格式的數據為例。這種格式為列表形式,每兩個值之間用逗號隔開。
NumPy的genfromtxt( )函數可以從文本中讀取數據並將其插入數組中。通常而言,這個函數接收三哥參數:存放數據的文件名、用於分隔值的字符和是否含有列標題。在接下來這個例子中,分隔符為逗號。
從輸出結果可以看到,我們得到了文件中的數據。
小結
我們介紹了NumPy庫所有的主要內容。通過一系列例子,你熟悉了NumPy的多種功能,它們是其他內容的基礎。事實上,後續多個概念來自其他更為專業的科學計算庫,但是這些庫的結構參考了NumPy,並且是以NumPy庫為基礎進行開發的。
我們還學到了ndarray如何擴展了Python的功能,從而使其適用於科學計算,尤其是數據分析。
對任何想從事數據分析的人來說,NumPy都是一項至關重要的技能。
下一章,我們將介紹一個新庫pandas。它以NumPy為基礎,吸收了講到的所有基礎概念,並對它們進行了擴展,使其更適合數據分析。
下面,我們將會講解一個至關重要的庫pandas庫,這個庫是用Python語言分析數據的好工具。我們首先將學習這個庫的基礎知識、安裝方法,最後將熟悉Series和DataFrame這兩種數據結構。在學習的過程中,我們將學著使用pandas庫的幾個基礎函數處理最常見的數據分析任務。熟悉這些操作對後續內容的學習至關重要,我們還會通過實例來進行具體的講解。