Python的產(chǎn)生已有30多年的歷史,近幾年更成為熱門(mén)的編程語(yǔ)言。在多數(shù)知名技術(shù)交流網(wǎng)站的排名中長(zhǎng)期穩(wěn)定在前3名,說(shuō)明了Python的巨大市場(chǎng)需求和良好的發(fā)展前景,也使更多人希望學(xué)習(xí)和掌握Python編程技術(shù),以便提升自身的競(jìng)爭(zhēng)力,乃至獲得更好的求職機(jī)會(huì)。
Python語(yǔ)言的流行得益于自身的特點(diǎn)和能力。首先,作為一種通用語(yǔ)言,Python具有簡(jiǎn)單、易學(xué)、免費(fèi)、開(kāi)源、可移植、可擴(kuò)展、可嵌入和面向?qū)ο蟮戎T多優(yōu)點(diǎn),能幫你輕松完成編程工作; 其次,Python被廣泛應(yīng)用于GUI設(shè)計(jì)、游戲編程、Web開(kāi)發(fā)、運(yùn)維自動(dòng)化、科學(xué)計(jì)算、數(shù)據(jù)可視化、數(shù)據(jù)挖掘及人工智能等多行業(yè)和領(lǐng)域。有專業(yè)調(diào)查顯示,Python正在成為越來(lái)越多開(kāi)發(fā)者的語(yǔ)言選擇。目前,國(guó)內(nèi)外很多大企業(yè)在應(yīng)用Python完成各種各樣的任務(wù)。
時(shí)至今日,Python幾乎可以應(yīng)用于任何領(lǐng)域和場(chǎng)合。
從近幾年相關(guān)領(lǐng)域招聘崗位的需求來(lái)看,Python工程師的崗位需求量巨大,并且這種需求量還在呈現(xiàn)不斷上升的趨勢(shì)。截至目前,根據(jù)知名招聘網(wǎng)站的數(shù)據(jù)顯示,全國(guó)Python崗位的需求量接近10萬(wàn)個(gè),平均薪資水平約在13000元?梢(jiàn),用炙手可熱來(lái)描述Python工程師并不為過(guò)。
眾所周知,數(shù)據(jù)分析過(guò)程中所涉及的知識(shí)點(diǎn)異常繁雜,并且不易掌握,而本書(shū)的一大特點(diǎn)就是同時(shí)匯集了數(shù)據(jù)搜集、數(shù)據(jù)清洗、數(shù)據(jù)分析和數(shù)據(jù)可視化的相關(guān)技術(shù),這在市面上是非常稀缺的,且本書(shū)對(duì)數(shù)據(jù)分析中的每個(gè)過(guò)程均進(jìn)行了詳盡、深入講解,并搭配多個(gè)實(shí)用性極強(qiáng)的示例代碼,生動(dòng)地闡述了每項(xiàng)技術(shù)的核心奧秘。此外,作者在本書(shū)的編排上也頗為用心,書(shū)中各章節(jié)銜接緊密,并且內(nèi)容精練不拖沓,讀者只需按照作者的編排思路循序漸進(jìn)地學(xué)習(xí),相信可以在較短的時(shí)間內(nèi)輕松掌握數(shù)據(jù)分析的全過(guò)程。
本書(shū)另一個(gè)值得推薦的理由是來(lái)自作者的工程素養(yǎng)。與一般的高階技術(shù)書(shū)籍不同,本書(shū)在講述語(yǔ)法和編程知識(shí)的同時(shí),更認(rèn)真、細(xì)致地介紹了與工程相關(guān)的規(guī)范,并且這種規(guī)范貫穿了示例代碼的始終。對(duì)于實(shí)際的軟件開(kāi)發(fā)工作來(lái)講,它們既是必須掌握的知識(shí),更是在實(shí)際編程實(shí)踐中應(yīng)具備的良好素養(yǎng)。
衷心希望本書(shū)能夠?yàn)橄胩嵘齈ython編程能力的廣大讀者提供幫助,并快速掌握數(shù)據(jù)分析的相關(guān)技術(shù),體會(huì)到運(yùn)用Python解決工作中的實(shí)際問(wèn)題所帶來(lái)的樂(lè)趣和成就感。同時(shí),也希望作者能夠再接再厲,為廣大讀者奉獻(xiàn)更多的優(yōu)質(zhì)書(shū)籍。
牛連強(qiáng)
2022年7月于沈陽(yáng)工業(yè)大學(xué)
第1章網(wǎng)絡(luò)爬蟲(chóng)
1.1網(wǎng)絡(luò)爬蟲(chóng)簡(jiǎn)介
1.2HTTP的基礎(chǔ)知識(shí)
1.2.1HTTP的特點(diǎn)
1.2.2HTTP請(qǐng)求和響應(yīng)
1.3Python網(wǎng)絡(luò)請(qǐng)求庫(kù)
1.3.1urllib庫(kù)
1.3.2requests庫(kù)
1.4網(wǎng)頁(yè)數(shù)據(jù)解析
1.4.1正則表達(dá)式
1.4.2網(wǎng)頁(yè)數(shù)據(jù)解析庫(kù)
1.5模擬瀏覽器
1.5.1Selenium簡(jiǎn)介
1.5.2安裝驅(qū)動(dòng)
1.5.3Selenium的安裝
1.5.4Selenium的應(yīng)用
1.6多進(jìn)程爬蟲(chóng)和多線程爬蟲(chóng)
1.7移動(dòng)端App數(shù)據(jù)爬取
1.7.1Charles的安裝
1.7.2Charles的應(yīng)用
1.8Scrapy框架
1.8.1Scrapy框架的組成
1.8.2Scrapy框架的運(yùn)行流程
1.8.3Scrapy框架的安裝
1.8.4Scrapy框架的應(yīng)用
1.9分布式爬蟲(chóng)
第2章NumPy
2.1NumPy簡(jiǎn)介
2.2數(shù)組對(duì)象的創(chuàng)建
2.3數(shù)組對(duì)象的數(shù)據(jù)類型
2.4數(shù)組對(duì)象的屬性和方法
2.5數(shù)組對(duì)象的訪問(wèn)
2.5.1索引訪問(wèn)
2.5.2迭代訪問(wèn)
2.6數(shù)組對(duì)象的算術(shù)運(yùn)算
2.7數(shù)組對(duì)象的廣播
2.8NumPy的通用函數(shù)
2.8.1算術(shù)運(yùn)算函數(shù)
2.8.2數(shù)學(xué)運(yùn)算函數(shù)
2.8.3連接函數(shù)
2.8.4分割函數(shù)
2.8.5統(tǒng)計(jì)函數(shù)
2.8.6排序函數(shù)
2.8.7條件篩選函數(shù)
2.8.8隨機(jī)數(shù)函數(shù)
2.9NumPy的線性代數(shù)函數(shù)
2.10數(shù)組對(duì)象的保存和讀取
2.10.1數(shù)組對(duì)象的保存
2.10.2數(shù)組對(duì)象的讀取
第3章Pandas
3.1Pandas簡(jiǎn)介
3.2Series
3.2.1Series簡(jiǎn)介
3.2.2Series的創(chuàng)建
3.2.3Series的訪問(wèn)
3.3DataFrame
3.3.1DataFrame簡(jiǎn)介
3.3.2DataFrame的創(chuàng)建
3.3.3DataFrame的操作
3.4數(shù)據(jù)形式
3.4.1長(zhǎng)型數(shù)據(jù)
3.4.2寬型數(shù)據(jù)
3.4.3長(zhǎng)型數(shù)據(jù)和寬型數(shù)據(jù)的相互轉(zhuǎn)換
3.5索引對(duì)象
3.6算術(shù)運(yùn)算
3.7統(tǒng)計(jì)學(xué)方法
3.8函數(shù)應(yīng)用
3.9排序
3.10去重
3.11文件的讀寫(xiě)
3.11.1CSV文件的讀寫(xiě)
3.11.2Excel文件的讀寫(xiě)
第4章Matplotlib
4.1Matplotlib簡(jiǎn)介
4.2圖表的組成
4.3rc參數(shù)
4.4圖表的保存
4.5繪制折線圖
4.6繪制柱狀圖
4.7繪制條形圖
4.8繪制餅圖
4.9繪制散點(diǎn)圖
4.10繪制直方圖
4.11繪制面積圖
4.12繪制箱形圖
4.13繪制小提琴圖
4.14繪制熱力圖
4.15繪制子圖
第5章Seaborn
5.1Seaborn簡(jiǎn)介
5.2圖表的背景
5.3圖表的邊框
5.4繪制折線圖
5.5繪制柱狀圖
5.6繪制直方圖
5.7繪制散點(diǎn)圖
5.8繪制分布散點(diǎn)圖
5.9繪制分簇散點(diǎn)圖
5.10繪制箱形圖
5.11繪制小提琴圖
5.12繪制核密度圖
5.13繪制熱力圖
5.14繪制聚類熱圖
5.15繪制線性回歸圖
第6章pyecharts
6.1pyecharts簡(jiǎn)介
6.2pyecharts的安裝
6.3圖表的組成
6.4options模塊
6.4.1文字樣式配置項(xiàng)
6.4.2標(biāo)簽配置項(xiàng)
6.4.3標(biāo)記點(diǎn)配置項(xiàng)
6.4.4線樣式配置項(xiàng)
6.4.5標(biāo)記線配置項(xiàng)
6.4.6分割線配置項(xiàng)
6.4.7區(qū)域填充樣式配置項(xiàng)
6.4.8漣漪特效配置項(xiàng)
6.4.9分隔區(qū)域配置項(xiàng)
6.4.10初始化配置項(xiàng)
6.4.11標(biāo)題配置項(xiàng)
6.4.12圖例配置項(xiàng)
6.4.13提示框配置項(xiàng)
6.4.14工具箱配置項(xiàng)
6.4.15視覺(jué)映射配置項(xiàng)
6.4.16區(qū)域縮放配置項(xiàng)
6.5鏈?zhǔn)秸{(diào)用
6.6繪制折線圖
6.7繪制柱狀圖
6.8繪制餅圖
6.9繪制箱形圖
6.10繪制漣漪散點(diǎn)圖
6.11繪制水球圖
6.12繪制儀表盤(pán)圖
6.13繪制K線圖
6.14繪制地圖
第7章項(xiàng)目實(shí)戰(zhàn)
7.1項(xiàng)目概述
7.1.1數(shù)據(jù)搜集
7.1.2數(shù)據(jù)存取
7.1.3數(shù)據(jù)清洗
7.1.4數(shù)據(jù)分析
7.1.5數(shù)據(jù)可視化
7.2程序編寫(xiě)
7.2.1數(shù)據(jù)搜集和數(shù)據(jù)存取
7.2.2數(shù)據(jù)清洗
7.2.3數(shù)據(jù)分析
7.2.4數(shù)據(jù)可視化