快速入門 Python 數據分析實用指
- 2020 年 1 月 3 日
- 筆記
Python 現如今已成為數據分析和數據科學使用上的標準語言和標準平台之一。那麼作為一個新手小白,該如何快速入門 Python 數據分析呢?
下面根據數據分析的一般工作流程,梳理了相關知識技能以及學習指南。
數據分析一般工作流程如下:
- 數據採集
- 數據存儲與提取
- 數據清潔及預處理
- 數據建模與分析
- 數據可視化
1.數據採集
數據來源分為內部數據和外部數據,內部數據主要是企業資料庫里的數據,外部數據主要是下載一些公開數據取或利用網路爬蟲獲取。(如果數據分析僅對內部數據做處理,那麼這個步驟可以忽略。)
公開的數據集我們直接下載即可,所以這部分的重點知識內容是網路爬蟲。那麼我們必須掌握的技能有Python 基礎語法、如何編寫 Python 爬蟲。
Python 基礎語法:掌握元素(列表、字典、元組等)、變數、循環、函數等基礎知識,達到能夠熟練編寫程式碼,至少不能出現語法錯誤。
Python 爬蟲內容:掌握如何使用成熟的 Python 庫(如urllib、BeautifulSoup、requests、scrapy)實現網路爬蟲。
大部分的網站都有自己的反爬機制,所以還需要學習一些技巧去應對不同網站的反爬策略。主要包括:正則表達式、模擬用戶登錄、使用代理、設置爬取頻率、使用cookie資訊等等。
推薦資源:
2.數據存儲與提取
提到數據存儲,資料庫肯定是跑不掉的。SQL 語言作為資料庫最基礎的工具,必須掌握!常見的關係資料庫和非關係資料庫也需要有所了解的。
SQL語言:最基本的四大操作,增刪改查。需爛熟於心,超級熟練!在分析過程中經常需要提取一些指定數據,所以能夠編寫 sql 語句去提取特定數據也是必備技能。在處理一些複雜數據的時候,還會涉及到數據的分組聚合、建立多個表之間的聯繫,這個也要掌握。
MySQL和MongoDB:掌握 MySQL 和 MongoDB 的基礎使用,並且了解兩個資料庫的區別。只要學會了這兩個資料庫,其他的資料庫在此基礎上都能快速上手,輕鬆玩轉。
推薦資源:
3.數據清潔及預處理
往往拿到的數據是不幹凈的,存在數據的重複、缺失、異常值等等。這個時候我們就需要對數據進行清潔及預處理,解決掉干擾因素,才能更加精準地分析結果。
對於數據預處理,我們主要利用 Python 的 Pandas 庫進行。
Pandas:用於數據處理的程式庫,不僅提供了豐富的數據結構,同時為處理數據表和時間序列提供了相應的函數。主要掌握選擇、缺失值處理、重複值處理、空格和異常值處理、相關操作、合併、分組等。
推薦資源:
4.數據建模與分析
數據分析的重頭戲,這部分已經不是單純的處理數據了,需要掌握一定的數學概率知識和機器學習相關內容。
概率論及統計學知識:基本統計量(均值、中位數、眾數等)、描述性統計量(方差、標準差等)、統計知識(總體和樣本、參數和統計量等)、概率分布與假設檢驗(各種分布、假設檢驗流程)、條件概率、貝葉斯等其他概率論知識。
機器學習:掌握常用的機器學習分類、回歸、聚類演算法和原理,了解特徵工程基礎、調參方法以及 Python 數據分析包scipy、numpy、scikit-learn 等。並且能夠選擇一種演算法模型對數據進行相應的分析,並得出分析結論。
- NumPy:一個通用程式庫,不僅支援常用的數值數組,同時提供了用於高效處理這些數組的函數。
- SciPy:Python的科學計算庫,對NumPy的功能進行了大量擴充,同時也有部分功能是重合的。Numpy和SciPy曾經共享基礎程式碼,後來分道揚鑣了。
隨著項目實踐量的不斷增加,會逐漸了解到針對不同類型的問題該如何去選擇演算法模型,並且了解到如何通過特徵提取、參數調節來提升預測到精度。
推薦資源:
5. 數據可視化
數據可視化,這部分主要依賴於 Python 的 Matplotlib 和 Seaborn。根據以上的分析結果數據,進行可視化的展示,輸出分析報告。
- Matplotlib:一個2D繪圖庫,在繪製圖形和影像方面提供了良好的支援。當前,Matplotlib已經併入SciPy中並支援NumPy。
- Seaborn: 基於matplotlib的圖形可視化python包。它提供了一種高度互動式介面,便於用戶能夠做出各種有吸引力的統計圖表
推薦資源:
遵照以上指南,循序漸進的完成學習,基本上是可以達到初級數據分析師的要求。但是千萬不要忘記了,掌握基本技能之後,還要多加練習,重視實戰才能更好的提升技能。
下面推薦一些項目案例:
項目案例來自實驗樓《樓+ 數據分析與挖掘實戰》的學員。