Python 現(xiàn)如今已成為數(shù)據(jù)分析和數(shù)據(jù)科學使用上的標準語言和標準平臺之一。那么作為一個新手小白,該如何快速入門 Python 數(shù)據(jù)分析呢?
下面根據(jù)數(shù)據(jù)分析的一般工作流程,梳理了相關知識技能以及學習指南。
數(shù)據(jù)分析一般工作流程如下:
- 數(shù)據(jù)采集
- 數(shù)據(jù)存儲與提取
- 數(shù)據(jù)清潔及預處理
- 數(shù)據(jù)建模與分析
- 數(shù)據(jù)可視化
1.數(shù)據(jù)采集
數(shù)據(jù)來源分為內(nèi)部數(shù)據(jù)和外部數(shù)據(jù),內(nèi)部數(shù)據(jù)主要是企業(yè)數(shù)據(jù)庫里的數(shù)據(jù),外部數(shù)據(jù)主要是下載一些公開數(shù)據(jù)取或利用網(wǎng)絡爬蟲獲取。(如果數(shù)據(jù)分析僅對內(nèi)部數(shù)據(jù)做處理,那么這個步驟可以忽略。)
公開的數(shù)據(jù)集我們直接下載即可,所以這部分的重點知識內(nèi)容是網(wǎng)絡爬蟲。那么我們必須掌握的技能有Python 基礎語法、如何編寫 Python 爬蟲。
Python 基礎語法 :掌握元素(列表、字典、元組等)、變量、循環(huán)、函數(shù)等基礎知識,達到能夠熟練編寫代碼,至少不能出現(xiàn)語法錯誤。
Python 爬蟲內(nèi)容 :掌握如何使用成熟的 Python 庫(如urllib、BeautifulSoup、requests、scrapy)實現(xiàn)網(wǎng)絡爬蟲。
大部分的網(wǎng)站都有自己的反爬機制,所以還需要學習一些技巧去應對不同網(wǎng)站的反爬策略。主要包括: 正則表達式、模擬用戶登錄、使用代理、設置爬取頻率、使用cookie信息等等。
推薦資源:
- Python3 簡明教程
- 笨辦法學Python 3 (豆瓣)
- 使用 Python 批量爬取網(wǎng)站信息
2.數(shù)據(jù)存儲與提取
提到數(shù)據(jù)存儲,數(shù)據(jù)庫肯定是跑不掉的。SQL 語言作為數(shù)據(jù)庫最基礎的工具,必須掌握!常見的關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫也需要有所了解的。
SQL語言 : 最基本的四大操作,增刪改查 。需爛熟于心,超級熟練!在分析過程中經(jīng)常需要提取一些指定數(shù)據(jù),所以能夠 編寫 sql 語句去提取特定數(shù)據(jù) 也是必備技能。在處理一些復雜數(shù)據(jù)的時候,還會涉及到 數(shù)據(jù)的分組聚合、建立多個表之間的聯(lián)系 ,這個也要掌握 。
MySQL 和 MongoDB :掌握 MySQL 和 MongoDB 的基礎使用,并且了解兩個數(shù)據(jù)庫的區(qū)別。只要學會了這兩個數(shù)據(jù)庫,其他的數(shù)據(jù)庫在此基礎上都能快速上手,輕松玩轉(zhuǎn)。
推薦資源:
- MySQL 基礎課程
- MongoDB 基礎教程
3.數(shù)據(jù)清潔及預處理
往往拿到的數(shù)據(jù)是不干凈的,存在數(shù)據(jù)的重復、缺失、異常值等等。這個時候我們就需要對數(shù)據(jù)進行清潔及預處理,解決掉干擾因素,才能更加精準地分析結(jié)果。
對于數(shù)據(jù)預處理,我們主要利用 Python 的 Pandas 庫進行。
Pandas:用于數(shù)據(jù)處理的程序庫,不僅提供了豐富的數(shù)據(jù)結(jié)構(gòu),同時為處理數(shù)據(jù)表和時間序列提供了相應的函數(shù)。主要掌握 選擇、缺失值處理、重復值處理、空格和異常值處理、相關操作、合并、分組 等。
推薦資源:
- Pandas 數(shù)據(jù)處理基礎課程
- Pandas 百題大沖關
- Tutorials - pandas 0.25.1 documentation
- 利用Python進行數(shù)據(jù)分析 (豆瓣)
4.數(shù)據(jù)建模與分析
數(shù)據(jù)分析的重頭戲,這部分已經(jīng)不是單純的處理數(shù)據(jù)了,需要掌握一定的數(shù)學概率知識和機器學習相關內(nèi)容。
概率論及統(tǒng)計學知識 :基本統(tǒng)計量(均值、中位數(shù)、眾數(shù)等)、描述性統(tǒng)計量(方差、標準差等)、統(tǒng)計知識(總體和樣本、參數(shù)和統(tǒng)計量等)、概率分布與假設檢驗(各種分布、假設檢驗流程)、條件概率、貝葉斯等其他概率論知識。
機器學習 :掌握常用的機器學習分類、回歸、聚類算法和原理,了解特征工程基礎、調(diào)參方法以及 Python 數(shù)據(jù)分析包scipy、numpy、scikit-learn 等。并且能夠選擇一種算法模型對數(shù)據(jù)進行相應的分析,并得出分析結(jié)論。
- NumPy:一個通用程序庫,不僅支持常用的數(shù)值數(shù)組,同時提供了用于高效處理這些數(shù)組的函數(shù)。
- SciPy:Python的科學計算庫,對NumPy的功能進行了大量擴充,同時也有部分功能是重合的。Numpy和SciPy曾經(jīng)共享基礎代碼,后來分道揚鑣了。
隨著項目實踐量的不斷增加,會逐漸了解到針對不同類型的問題該如何去選擇算法模型,并且了解到如何通過特征提取、參數(shù)調(diào)節(jié)來提升預測到精度。
推薦資源:
- 深入淺出統(tǒng)計學 (豆瓣)
- 統(tǒng)計學習方法(第2版) (豆瓣)
- NumPy 數(shù)值計算基礎課程
- NumPy 百題大沖關
- SciPy 科學計算基礎課程
5. 數(shù)據(jù)可視化
數(shù)據(jù)可視化,這部分主要依賴于 Python 的 Matplotlib 和 Seaborn。根據(jù)以上的分析結(jié)果數(shù)據(jù),進行可視化的展示,輸出分析報告。
- Matplotlib:一個2D繪圖庫,在繪制圖形和圖像方面提供了良好的支持。當前,Matplotlib已經(jīng)并入SciPy中并支持NumPy。
- Seaborn: 基于matplotlib的圖形可視化python包。它提供了一種高度交互式界面,便于用戶能夠做出各種有吸引力的統(tǒng)計圖表
推薦資源:
- Matplotlib 數(shù)據(jù)繪圖基礎課程
遵照以上指南,循序漸進的完成學習,基本上是可以達到初級數(shù)據(jù)分析師的要求。但是千萬不要忘記了,掌握基本技能之后,還要多加練習,重視實戰(zhàn)才能更好的提升技能。
下面推薦一些項目案例:
- 中國保險行業(yè)過去五年基礎數(shù)據(jù)分析
- 杭州互聯(lián)網(wǎng)寒冬背景下的數(shù)據(jù)分析崗現(xiàn)狀分析
- 鏈家成都市區(qū)掛牌二手房分析
- B站番劇數(shù)據(jù)簡單分析
項目案例來自實驗樓《 樓+ 數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》的學員。
更多文章、技術(shù)交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
