天天看點

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

本節書摘來自華章出版社《資料分析實戰

基于excel和spss系列工具的實踐》一書中的第3章,第3.4節,紀賀元 著,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

早期做教育訓練的時候,很少有學員來問我資料量的事情,因為大家的資料量都比較小,這幾年來不同了,經常有學員來問我:老師,作者的資料有300多萬,怎麼辦?還有學員說,我們要做客戶畫像,資料量有1000多萬,我們平時都是放在mysql裡面做的。

資料量太大了,怎麼辦?excel的一個工作表隻能存放1048576行資料,也就是104萬多一點,資料多了如何處理呢?

excel隻是一個辦公軟體,在處理大資料量方面,它遠遠沒有專業的資料庫給力。專業資料庫能夠處理比較大的資料量,并且處理速度快,在處理資料備援等方面效率高,遠非excel可比。對于專業的資料庫,個人的一個感覺是,現在用access的人越來越少,越來越多的人轉向mysql,除了mysql具有開源免費的特征之外,它還能和r或者python組合使用,這應該也是一個很重要的原因。

專業的統計分析和挖掘工具雖然不是資料庫,但是其資料的吞吐量也遠高于excel。以下以spss和modeler為例來說明它們是如何處理大資料量的。

(1)spss處理大資料量

這裡以案例檔案3.10.1和3.10.2進行說明,這兩個檔案的資料量均超過了60萬行,現在要将這兩個檔案合并,合并後的資料會超過120萬行,excel已經無法容納,是以考慮采用spss處理。

打開spss軟體,依次選擇“檔案”→“打開”→“資料”,如圖3-28所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

然後,在硬碟上找到要打開的excel檔案的路徑,并打開,如圖3-29所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

同理打開第二個檔案。在第一個打開的資料集中依次選擇“資料”→“合并檔案”→“添加個案”,如圖3-30所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

然後選擇已經打開的資料集,繼續合并,如圖3-31所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

由于兩個檔案的字段相同,都是“編号”和“尺寸”,是以圖3-31的新的活動資料集中,變量隻有“編号”和“尺寸”兩種,點選确定,完成合并。

為了驗證上面的資料,依次點選“分析”→“描述統計”→“描述”,如圖3-32所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

然後,選擇相關的名額,進行描述統計,如圖3-33所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

最後得到結論,如圖3-34所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

可以看到,合并後的資料量為1378832,超過了excel工作表的最大容量。

(2)modeler處理大資料量

與spss一樣,modeler也可以處理大資料,以案例檔案3.11.1和3.11.2進行說明。打開modeler軟體,在“源”中選擇excel節點,選擇檔案路徑,點選确定。打開上述兩個檔案後,選擇“追加”節點,将兩個檔案的資料進行合并,如圖3-35所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

為了驗證以上合并的結果,選擇“統計量”節點,進而驗證合并後的資料量,如圖3-36所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

可以看到,以上資料的總和達到了1465700。

如果資料量比較大,也可以采用資料抽樣的方法,spss和modeler都有專門做資料抽樣的方法,在excel中也可以實作,比如,可以用随機數函數進行抽樣。

以下以spss和excel為例來說明如何做資料抽樣。

在spss中打開資料檔案,在“資料”主标簽中選擇“選擇個案”,如圖3-37所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

接圖3-37,點選“選擇個案”,如圖3-38所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

在圖3-38中,選擇“随機個案樣本”,如圖3-39所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

圖3-39中提供了幾種常用并且比較簡單的資料抽樣方法,如果對抽樣技術要求不是很高,這幾種基本也夠用了。

在excel中的資料抽樣方法有兩種,最簡單的就是用randbetween函數,例如我們有50萬行資料,希望以1∶100的比例進行抽樣,用randbetween(1, 500000)生成5000個随機數即可。另外一個方法是在excel“資料分析”子產品中選擇“抽樣”,如圖3-40和圖3-41所示。

《資料分析實戰 基于EXCEL和SPSS系列工具的實踐》一3.4 資料量太大了怎麼辦

在圖3-41的抽樣方法中,周期法是每隔一個固定的間隔就抽取一個資料,随機法則是在全量資料中随機抽取資料。

随着計算機計算速度的持續提高,資料抽樣其實在資料分析中用得并不多,因為如果不是上億的數量級,還是希望做全量資料的分析。