Python的眾多優(yōu)點讓它成為最受歡迎的程序設計語言之一,國內(nèi)外許多公司也已經(jīng)在使用Python,例YouTube,Google,阿里云等等。
Python里的這些庫,
學會了你的工作至少翻一倍!
學Python的同學里估計有30%以上是為了做數(shù)據(jù)分析師或者數(shù)據(jù)挖掘,所以數(shù)據(jù)分析相關的庫,你一定要知道。
假如你掌握了Python的編程基礎后,就可以逐漸進入數(shù)據(jù)分析的奇妙世界。Python有滿足各種數(shù)據(jù)分析需求的強大而易用的標準庫,大部分時間,你主要是在和它們打交道。如何快速了解并應用它們?CDA數(shù)據(jù)分析師認為一個完整的數(shù)據(jù)分析項目大致可分為以下五個流程:
01
數(shù)據(jù)獲取
一般有數(shù)據(jù)分析師崗位需求的公司都會有自己的數(shù)據(jù)庫,數(shù)據(jù)分析師可以通過SQL查詢語句來獲取數(shù)據(jù)庫中想要數(shù)據(jù)。Python已經(jīng)具有連接sql server、mysql、orcale等主流數(shù)據(jù)庫的接口包,比如pymssql、pymysql、cx_Oracle等。
而獲取外部數(shù)據(jù)主要有兩種獲取方式,一種是獲取國內(nèi)一些網(wǎng)站上公開的數(shù)據(jù)資料,例如國家統(tǒng)計局;一種是通過編寫爬蟲代碼自動爬取數(shù)據(jù)。如果希望使用Python爬蟲來獲取數(shù)據(jù),我們可以使用以下Python工具:
Requests - 主要用于爬取數(shù)據(jù)時發(fā)出請求操作。
BeautifulSoup -用于爬取數(shù)據(jù)時讀取XML和HTML類型的數(shù)據(jù),解析為對象進而處理。
Selenium- Selenium可以模擬真實瀏覽器,自動化測試工具,支持多種瀏覽器,爬蟲中主要用來解決JavaScript渲染問題。
Scapy - 一個處理交互式數(shù)據(jù)的包,可以解碼大部分網(wǎng)絡協(xié)議的數(shù)據(jù)包。
02
數(shù)據(jù)存儲
對于數(shù)據(jù)量不大的項目,可以使用Excel來進行存儲和處理,但對于數(shù)據(jù)量過萬的項目,使用數(shù)據(jù)庫如Mysql來存儲與管理會更高效便捷,對于非結構化數(shù)據(jù)的存儲可以使用MongoDB。對于使用Python進行網(wǎng)絡抓取的數(shù)據(jù),我們也可以使用pymysql包快速地將其存儲到Mysql中去。
Pymysql-PyMySQL 是在 Python3.x 版本中用于連接 MySQL 服務器的一個庫
03
數(shù)據(jù)預處理/數(shù)據(jù)清洗
數(shù)據(jù)科學家花了大量的時間清洗數(shù)據(jù)集,并將這些數(shù)據(jù)轉換為他們可以處理的格式。事實上,很多數(shù)據(jù)科學家聲稱開始獲取和清洗數(shù)據(jù)的工作量要占整個工作的80%。
大多數(shù)情況下,我們拿到手的數(shù)據(jù)是格式不一致,存在異常值、缺失值等問題的,而不同項目數(shù)據(jù)預處理步驟的方法也不一樣。如果選擇Python作為數(shù)據(jù)清洗的工具的話,我們可以使用Numpy和Pandas這兩個工具庫:
Numpy - 用于Python中的科學計算。它非常適用于與線性代數(shù),傅里葉變換和隨機數(shù)相關的運算。它可以很好地處理多維數(shù)據(jù),并兼容各種數(shù)據(jù)庫。
Pandas –Pandas是基于Numpy擴展而來的,可以提供一系列函數(shù)來處理數(shù)據(jù)結構和運算,如時間序列等。
04
建模與分析
這一階段首先要清楚數(shù)據(jù)的結構,結合項目需求來選取模型。
常見的數(shù)據(jù)挖掘模型有:
在這一階段,Python也具有很好的工具庫支持我們的建模工作:
Scikit-learn-適用Python實現(xiàn)的機器學習算法庫。scikit-learn可以實現(xiàn)數(shù)據(jù)預處理、分類、回歸、降維、模型選擇等常用的機器學習算法。
Tensorflow-適用于深度學習且數(shù)據(jù)處理需求不高的項目。這類項目往往數(shù)據(jù)量較大,且最終需要的精度更高。
05
可視化分析
數(shù)據(jù)分析最后一步是撰寫數(shù)據(jù)分析報告,這也是數(shù)據(jù)可視化的一個過程。在數(shù)據(jù)可視化方面,Python目前主流的可視化工具有:
Matplotlib-主要用于二維繪圖,它能讓使用者很輕松地將數(shù)據(jù)圖形化,并且提供多樣化的輸出格式。
Seaborn-是基于matplotlib產(chǎn)生的一個模塊,專攻于統(tǒng)計可視化,可以和Pandas進行無縫鏈接。
Pyecharts-是一個用于生成 Echarts 圖表的類庫。Echarts 是百度開源的一個數(shù)據(jù)可視化 JS 庫,可以快速繪制動態(tài)交互式可視化圖形。以下是使用Pyecharts繪制全國主要城市空氣質量地圖示例。
從上圖我們也可以得知,在整個數(shù)據(jù)分析流程,無論是數(shù)據(jù)提取、數(shù)據(jù)預處理、數(shù)據(jù)建模和分析,還是數(shù)據(jù)可視化,Python目前已經(jīng)可以很好地支持我們的數(shù)據(jù)分析工作。
如何系統(tǒng)學習使用Python
進行數(shù)據(jù)分析和機器學習技巧?
聯(lián)系客服