不知不覺2021年就這麼過了一個月,時間真的過的好快,如白駒過隙。
好久沒有更新文章了,那麼就從一些簡單的疑難雜症開始吧。
剛好今天需要打開一個比較大的CSV文件,超過1G,在網上搜了一些方法,可以用python,可以放進資料庫,可以用別的讀取數據的高效工具,但這些方法都需要做一些前期準備,過於麻煩,於是還是用回Excel,在現有基礎上找方法。
在講解之前,還是老規矩,先聽一首歌,舒緩周一的假期綜合症。
不記得第一次聽這首歌是什麼時候,但最近還挺上頭的。
首先說明一下我要解決的問題,我需要分析一天的交易數據:
按照交易數量匯總
按照交易數據狀態匯總
按照交易數據的用戶類型匯總
這些匯總信息,大家第一時間想到的應該就是利用pivot table這個功能。如果文件不大,這些分析應該輕而易舉就能辦到。
現在遇到的問題是,文件大小有1.27G,普通打開Excel的模式只能載入1,048,567條數據。但總的數據有4,039,171條。
解決辦法:
第一步:打開Excel
第二步:選擇Data欄目
第三步:選擇從Text/CSV載入
第四步:選擇要載入的CSV文件
第五步:載入按鈕旁邊的三角形,選擇載入模式
第六步:設置載入模式,按ok
然後數據就會陸陸續續的被載入,你可以觀察到數組在增加
到此,數據加載的任務就完成了。
接下來是如何做分析。
如一開始所說,使用pivot table是常用方法。
還是在Data 欄目,點擊一個綠色小圖標,"go to power pivot window"
然後就會打開一個新的窗口,在菜單欄選擇「Pivot Table」
然後選擇需要的數據,篩選,行列設置,匯總數據。
玩的再高級一點,可以"insert slicer", "insert timeline", "PivotChart"
首先我們添加一個pivot chart,把數據可視化。
例如這個圖表可以直觀顯示每個不同的交易對的交易數據的數量,能發現一個有趣的現象是訂單生成和訂單取消的數量接近,只有少部分成交。
然後添加一個slicer,其實就是篩選器,比如按照交易對篩選,按照用戶類型,用戶狀態,用戶風險評級,地區,等維度篩選。
在篩選的過程中,可以看到圖表的變化,提供一個動態的數據展示,有助於挖掘出有用的信息。
至於"Insert Timeline", 這也是一個很有用的功能,因為交易數據一般都是按毫秒記錄的,數據太多不易挖掘出特徵信息,所以可以把數據總結成每小時的交易量,每兩小時,每三小時等,進行對比分析,觀察趨勢變化,這個需要對數據做一些小處理,這個放到下一篇文章再介紹。
今晚就分享到這,晚安,好眠。