Python數(shù)據(jù)分析從入門到精通
定 價(jià):99 元
叢書名:Python開發(fā)從入門到精通系列
- 作者:李梓萌
- 出版時(shí)間:2020/4/1
- ISBN:9787111649885
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:356
- 紙張:膠版紙
- 版次:1
- 開本:16K
Python數(shù)據(jù)分析從入門到精通循序漸進(jìn)地講解了使用Python語言實(shí)現(xiàn)數(shù)據(jù)分析的核心知識,并通過具體實(shí)例的實(shí)現(xiàn)過程演示了數(shù)據(jù)分析的方法和流程。Python數(shù)據(jù)分析從入門到精通共12章,內(nèi)容包括Python語言基礎(chǔ)、處理網(wǎng)絡(luò)數(shù)據(jù)、網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)、處理特殊文本格式、使用數(shù)據(jù)庫保存數(shù)據(jù)、操作處理CSV文件、操作處理JSON數(shù)據(jù)、使用庫matplotlib實(shí)現(xiàn)數(shù)據(jù)可視化處理、使用庫pygal實(shí)現(xiàn)數(shù)據(jù)可視化處理、使用庫numPy實(shí)現(xiàn)數(shù)據(jù)可視化處理、使用庫pandas實(shí)現(xiàn)數(shù)據(jù)可視化處理和大數(shù)據(jù)實(shí)戰(zhàn)案例。Python數(shù)據(jù)分析從入門到精通簡潔而不失技術(shù)深度,內(nèi)容豐富全面。不僅易于閱讀,同時(shí)涵蓋了其他同類圖書中很少涉及的參考資料,是學(xué)習(xí)Python數(shù)據(jù)分析的實(shí)用教程。
Python數(shù)據(jù)分析從入門到精通適用于已了解Python語言基礎(chǔ)語法、希望進(jìn)一步提高自己Python開發(fā)水平的讀者,還可作為大中專院校和培訓(xùn)學(xué)校相關(guān)專業(yè)師生的學(xué)習(xí)參考用書。
前言
從你開始學(xué)習(xí)編程的那一刻起,就注定了以后要走的路:從編程學(xué)習(xí)者開始,依次經(jīng)歷實(shí)習(xí)生、程序員、軟件工程師、架構(gòu)師、CTO等職位。當(dāng)你驀然回首,會發(fā)現(xiàn)自己的成功并非偶然,而是在程序員的成長之路上不斷修改代碼、尋找并解決Bug、不停測試程序和修改項(xiàng)目的磨煉的必然結(jié)果。換言之,只要你在自己的編程生涯中穩(wěn)扎穩(wěn)打,并且善于總結(jié)和學(xué)習(xí),最終將會得到可喜的收獲。
選擇一本合適的書
一名程序開發(fā)初學(xué)者究竟應(yīng)該如何學(xué)習(xí)和提高自己的編程技術(shù)呢?答案之一是買一本合適的程序開發(fā)書籍進(jìn)行學(xué)習(xí)。但市面上許多面向初學(xué)者的編程書籍大多都是基礎(chǔ)知識講解,且多偏向于理論,讀者讀了以后面對實(shí)戰(zhàn)項(xiàng)目時(shí)還是無從下手。如何從理論平滑過渡到項(xiàng)目實(shí)戰(zhàn),是初學(xué)者迫切需要解決的問題,為此,我們特意策劃了本書。
本書面向有一定Python基礎(chǔ)的讀者分享使用Python語言開發(fā)數(shù)據(jù)分析程序的知識,以提高初學(xué)者的編程水平。本書主要講解實(shí)現(xiàn)Python數(shù)據(jù)分析所必須具備的知識和技巧,幫助編程人員迅速掌握數(shù)據(jù)分析的各項(xiàng)技能,并且提高編程效率。
本書的特色
1.內(nèi)容全面
本書詳細(xì)講解了Python數(shù)據(jù)分析所需要的編程技術(shù),循序漸進(jìn)地講解了這些技術(shù)的使用方法和技巧,幫助讀者快速步入Python 數(shù)據(jù)分析的高手之列。
2.實(shí)例驅(qū)動教學(xué)
本書采用理論加實(shí)例的編寫方式,通過實(shí)例對知識點(diǎn)進(jìn)行橫向切入和縱向比較,讓讀者有更多的實(shí)踐演練機(jī)會,并且可以從不同的方位展現(xiàn)一個(gè)知識點(diǎn)的用法,真正實(shí)現(xiàn)提高學(xué)習(xí)者技能的效果。
3.二維碼視頻講解
書中的每一個(gè)二級目錄下都有一個(gè)二維碼,通過掃描二維碼可以觀看講解視頻,既包括實(shí)例講解,也包括教程講解。
4.售后幫助讀者快速解決學(xué)習(xí)問題
無論是書中的疑惑,還是在學(xué)習(xí)中的問題,群主和管理員都將在第一時(shí)間為讀者解答問題,這是我們對讀者的承諾。
5.貼心提示和注意事項(xiàng)提醒
本書根據(jù)需要在各章安排了很多“注意”小板塊,讀者可以在學(xué)習(xí)過程中更輕松地理解相關(guān)知識點(diǎn)及概念,更快地掌握有關(guān)技術(shù)的應(yīng)用技巧。
6.QQ群實(shí)現(xiàn)教學(xué)互動
編者為了方便給讀者答疑,特提供了QQ群為讀者進(jìn)行技術(shù)服務(wù),可以隨時(shí)在線與讀者互動。讓大家在互學(xué)互助中形成一個(gè)良好的學(xué)習(xí)編程的氛圍。
Python數(shù)據(jù)分析從入門到精通的QQ群號是:683761238。
Python數(shù)據(jù)分析從入門到精通的主要內(nèi)容
Python數(shù)據(jù)分析從入門到精通循序漸進(jìn)、深入淺出地講解了使用Python語言實(shí)現(xiàn)數(shù)據(jù)分析的核心知識,并通過具體實(shí)例的實(shí)現(xiàn)過程演示了數(shù)據(jù)分析的方法和流程。Python數(shù)據(jù)分析從入門到精通共12章,分別講解了Python語言基礎(chǔ)、處理網(wǎng)絡(luò)數(shù)據(jù)、網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)、處理特殊文本格式、使用數(shù)據(jù)庫保存數(shù)據(jù)、操作處理CSV文件、操作處理JSON數(shù)據(jù)、使用庫matplotlib實(shí)現(xiàn)數(shù)據(jù)可視化處理、使用庫pygal實(shí)現(xiàn)數(shù)據(jù)可視化處理、使用庫numPy實(shí)現(xiàn)數(shù)據(jù)可視化處理、使用庫pandas實(shí)現(xiàn)數(shù)據(jù)可視化處理及大數(shù)據(jù)實(shí)戰(zhàn)案例。Python數(shù)據(jù)分析從入門到精通簡潔而不失技術(shù)深度,內(nèi)容全面豐富,不僅易于閱讀,同時(shí)涵蓋了其他同類圖書中較少涉及的參考資料,是學(xué)習(xí)Python數(shù)據(jù)分析的必備參考用書。
Python數(shù)據(jù)分析從入門到精通適用于已了解Python語言基礎(chǔ)語法希望進(jìn)一步提高自己Python開發(fā)水平的讀者,同時(shí)還可以作為大中專院校相關(guān)專業(yè)的和培訓(xùn)學(xué)校師生的專業(yè)教材。
Python數(shù)據(jù)分析從入門到精通的讀者對象
Python數(shù)據(jù)分析從入門到精通適用于以下讀者學(xué)習(xí)參考。
軟件工程師。
Python初學(xué)者和自學(xué)者。
專業(yè)數(shù)據(jù)分析人員。
數(shù)據(jù)庫工程師和管理員。
研發(fā)工程師。
教育工作者。
致謝
Python數(shù)據(jù)分析從入門到精通在編寫過程中得到了機(jī)械工業(yè)出版社編輯的大力支持,正是各位編輯求真務(wù)實(shí)的作風(fēng),才使得本書能夠順利出版。另外,也十分感謝我的家人給予的巨大支持。由于水平有限,書中存在紕漏之處在所難免,誠請讀者提出寶貴的意見或建議,以便修訂并使之更臻完善。編者QQ:150649826。
最后感謝您購買本書,希望Python數(shù)據(jù)分析從入門到精通能成為您編程路上的領(lǐng)航者,祝您閱讀快樂
編者
李梓萌,女,高級工程師,畢業(yè)于清華大學(xué),,供職于阿里巴巴淘寶事業(yè)部。工作項(xiàng)目涉及金融科技、證券交易所、銀行、生物信息學(xué)、基因組學(xué)、廣告技術(shù)、基礎(chǔ)設(shè)施、交通運(yùn)輸、能源、人力資源和娛樂等多個(gè)領(lǐng)域的數(shù)據(jù)分析工作。在預(yù)測分析、數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、大數(shù)據(jù)、產(chǎn)品工程、高性能計(jì)算和云基礎(chǔ)設(shè)施等項(xiàng)目中工作了8年。
目錄
前言
第1章 Python語言基礎(chǔ)1
1.1 Python語言介紹1
1.1.1 Python語言的地位1
1.1.2 Python語言的優(yōu)點(diǎn)2
1.2 安裝Python3
1.2.1 在Windows系統(tǒng)中下載并安裝
Python3
1.2.2 在MacOS系統(tǒng)中下載并安裝
Python6
1.2.3 在Linux系統(tǒng)中下載并安裝
Python6
1.3 Python開發(fā)工具介紹7
1.3.1 使用Python自帶的開發(fā)工具
IDLE7
1.3.2 使用流行工具PyCharm7
1.4 認(rèn)識第一段Python程序11
1.4.1 使用IDLE編碼并運(yùn)行11
1.4.2 使用命令行方式運(yùn)行Python
程序12
1.4.3 使用交互式方式運(yùn)行Python
程序12
1.4.4 使用PyCharm實(shí)現(xiàn)第一個(gè)Python
程序13
第2章 處理網(wǎng)絡(luò)數(shù)據(jù)17
2.1 處理HTML和XML數(shù)據(jù)17
2.1.1 解析XML數(shù)據(jù)17
2.1.2 使用庫beautiful soup解析數(shù)據(jù)25
2.1.3 使用庫bleach解析數(shù)據(jù)27
2.1.4 使用庫cssutils解析數(shù)據(jù)29
2.1.5 使用庫html5lib解析數(shù)據(jù)31
2.1.6 使用庫markupsafe解析數(shù)據(jù)31
2.1.7 使用庫pyquery解析數(shù)據(jù)32
2.2 處理HTTP 數(shù)據(jù)34
2.2.1 使用內(nèi)置的http包處理數(shù)據(jù)34
2.2.2 使用庫requests處理數(shù)據(jù)36
2.2.3 使用庫httplib2處理數(shù)據(jù)37
2.2.4 使用庫urllib3處理數(shù)據(jù)41
2.3 處理URL 數(shù)據(jù)44
2.3.1 使用urllib包44
2.3.2 使用庫furl處理數(shù)據(jù)47
2.3.3 使用庫purl處理數(shù)據(jù)48
2.3.4 使用庫webargs處理數(shù)據(jù)50
2.4 爬取新聞保存到XML文件并分析
特征關(guān)系50
2.4.1 爬蟲抓取數(shù)據(jù)51
2.4.2 使用Stanford CoreNLP提取XML
數(shù)據(jù)的特征關(guān)系52
第3章 網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)54
3.1 網(wǎng)絡(luò)爬蟲基礎(chǔ)54
3.2 開發(fā)簡單的網(wǎng)絡(luò)爬蟲應(yīng)用程序55
3.2.1 爬蟲抓取某高校教師信息55
3.2.2 抓取某吧的信息59
3.2.3 抓取XX百科64
3.2.4 爬蟲抓取某網(wǎng)站的信息并保存到
本地68
3.3 使用爬蟲框架Scrapy70
3.3.1 Scrapy框架基礎(chǔ)71
3.3.2 搭建Scrapy環(huán)境72
3.3.3 創(chuàng)建第一個(gè)Scrapy項(xiàng)目72
3.3.4 抓取某電影網(wǎng)的熱門電影信息76
3.3.5 抓取某網(wǎng)站中的照片并保存到
本地81
3.3.6 抓取某網(wǎng)站中的主播照片并保存到
本地82
第4章 處理特殊文本格式84
4.1 使用tablib模塊84
4.1.1 基本用法84
4.1.2 操作數(shù)據(jù)集中的指定行和列86
4.1.3 刪除并導(dǎo)出不同格式的數(shù)據(jù)87
4.1.4 生成一個(gè)Excel文件88
4.1.5 處理多個(gè)數(shù)據(jù)集89
4.1.6 使用標(biāo)簽過濾數(shù)據(jù)92
4.1.7 分離表格中的數(shù)據(jù)92
4.2 使用openpyxl處理Office
文件93
4.2.1 openpyxl基礎(chǔ)93
4.2.2 使用openpyxl讀取Excel文件的
數(shù)據(jù)96
4.2.3 將4組數(shù)據(jù)導(dǎo)入Excel文件96
4.2.4 在Excel文件中檢索某關(guān)鍵字
數(shù)據(jù)98
4.2.5 將數(shù)據(jù)導(dǎo)入Excel文件并生成一個(gè)
圖表99
4.3 使用pyexcel處理Office
文件100
4.3.1 使用pyexcel讀取并寫入CSV
文件100
4.3.2 使用pyexcel讀取指定Excel文件中
每個(gè)單元格數(shù)據(jù)101
4.3.3 按列讀取并顯示指定Excel文件中
每個(gè)單元格數(shù)據(jù)102
4.3.4 讀取顯示Excel文件中的所有
數(shù)據(jù)102
4.3.5 將3組數(shù)據(jù)導(dǎo)入新建的Excel
文件103
4.3.6 以多種方式獲取Excel數(shù)據(jù)104
4.3.7 將數(shù)據(jù)分別導(dǎo)入Excel文件和SQLite
數(shù)據(jù)庫105
4.3.8 在Flask Web項(xiàng)目中使用pyexcel處理
數(shù)據(jù)106
4.4 使用python-docx處理Office
文件109
4.4.1 使用python-docx處理Office文件的
流程109
4.4.2 創(chuàng)建Word文檔110
4.4.3 在Word中插入圖片110
4.4.4 創(chuàng)建結(jié)構(gòu)文檔112
4.4.5 讀取Word文檔114
4.5 使用xlrd和xlwt讀寫Excel115
4.5.1 使用庫xlrd115
4.5.2 使用庫xlwt117
4.6 使用xlsxwriter操作Excel
文件118
4.6.1 使用庫xlsxwriter的基本流程118
4.6.2 創(chuàng)建一個(gè)表格118
4.6.3 設(shè)置表格樣式120
4.6.4 向Excel文件中插入圖像122
4.6.5 向Excel文件中插入數(shù)據(jù)并繪制
柱狀圖123
4.6.6 向Excel文件中插入數(shù)據(jù)并繪制
散點(diǎn)圖125
4.6.7 向Excel文件中插入數(shù)據(jù)并繪制
柱狀圖和餅狀圖126
第5章 使用數(shù)據(jù)庫保存數(shù)據(jù)129
5.1 操作SQLite3數(shù)據(jù)庫129
5.1.1 sqlite3模塊介紹129
5.1.2 使用sqlite3模塊操作SQLite3
數(shù)據(jù)庫130
5.1.3 使用Flask+ SQLite3+ ECharts2實(shí)現(xiàn)
降水?dāng)?shù)據(jù)可視化系統(tǒng)132
5.2 操作MySQL數(shù)據(jù)庫138
5.2.1 搭建PyMySQL環(huán)境138
5.2.2 實(shí)現(xiàn)數(shù)據(jù)庫連接139
5.2.3 創(chuàng)建數(shù)據(jù)庫表140
5.2.4 爬取XX站用戶信息并保存到
MySQL數(shù)據(jù)庫141
5.3 使用MariaDB數(shù)據(jù)庫145
5.3.1 搭建MariaDB數(shù)據(jù)庫環(huán)境145
5.3.2 在Python程序中使用MariaDB
數(shù)據(jù)庫148
5.4 使用MongoDB數(shù)據(jù)庫150
5.4.1 搭建MongoDB環(huán)境150
5.4.2 在Python程序中使用MongoDB
數(shù)據(jù)庫151
5.5 使用ORM操作數(shù)據(jù)庫154
5.5.1 Python和ORM154
5.5.2 使用SQLAlchemy155
5.5.3 使用mongoengine160
第6章 操作處理CSV文件163
6.1 內(nèi)置CSV模塊介紹163
6.1.1 內(nèi)置成員163
6.1.2 操作CSV文件165
6.1.3 提取CSV數(shù)據(jù)并保存到MySQL
數(shù)據(jù)庫172
6.1.4 提取CSV數(shù)據(jù)并保存到SQLite
數(shù)據(jù)庫176
6.2 爬取圖書信息并保存為CSV
文件178
6.2.1 實(shí)例介紹178
6.2.2 具體實(shí)現(xiàn)178
6.3 使用CSV文件保存Scrapy抓取的
數(shù)據(jù)181
6.3.1 搭建Scrapy環(huán)境182
6.3.2 具體實(shí)現(xiàn)182
第7章 操作處理JSON數(shù)據(jù)185
7.1 類型轉(zhuǎn)換185
7.2 JSON編碼和解碼186
7.2.1 json模塊基礎(chǔ)186
7.2.2 JSON數(shù)據(jù)的基本操作187
7.3 分析JSON格式的世界人口
數(shù)據(jù)195
7.3.1 輸出每個(gè)國家2010年的人口
數(shù)量195
7.3.2 獲取兩個(gè)字母的國別碼196
7.4 挖掘并分析日志文件數(shù)據(jù)197
7.4.1 檢查JSON日志的Python腳本197
7.4.2 將MySQL操作日志保存到數(shù)據(jù)庫
文件200
7.4.3 將日志中JSON數(shù)據(jù)保存為CSV
格式204
7.5 統(tǒng)計(jì)分析朋友圈的數(shù)據(jù)207
7.5.1 將朋友圈數(shù)據(jù)導(dǎo)出到JSON文件207
7.5.2 統(tǒng)計(jì)處理JSON文件中的朋友圈
數(shù)據(jù)208
7.6 爬蟲抓取照片資料212
7.6.1 系統(tǒng)設(shè)置212
7.6.2 設(shè)置爬蟲items選項(xiàng)213
7.6.3 實(shí)現(xiàn)爬蟲抓取213
7.6.4 保存照片信息215
7.6.5 運(yùn)行調(diào)試216
第8章 使用庫matplotlib實(shí)現(xiàn)數(shù)據(jù)
可視化處理217
8.1 安裝庫matplotlib217
8.2 庫matplotlib的基本操作219
8.2.1 繪制點(diǎn)219
8.2.2 繪制折線220
8.2.3 設(shè)置標(biāo)簽文字和線條粗細(xì)221
8.2.4 自定義散點(diǎn)圖樣式222
8.2.5 繪制柱狀圖224
8.2.6 繪制多幅子圖230
8.2.7 繪制曲線231
8.3 繪制隨機(jī)漫步圖233
8.3.1 在Python程序中生成隨機(jī)漫步
數(shù)據(jù)233
8.3.2 在Python程序中繪制隨機(jī)
漫步圖235
8.4 大數(shù)據(jù)分析某年最高溫度和最低
溫度236
8.5 在Tkinter中使用matplotlib繪制
圖表238
8.6 爬取熱門電影信息并制作數(shù)據(jù)
分析餅狀圖239
8.6.1 創(chuàng)建MySQL數(shù)據(jù)庫239
8.6.2 抓取并分析電影數(shù)據(jù)242
第9章 使用庫pygal實(shí)現(xiàn)數(shù)據(jù)可視化
處理246
9.1 安裝庫pygal246
9.2 pygal的基本操作247
9.2.1 使用pygal繪制條形圖247
9.2.2 使用pygal繪制直方圖248
9.2.3 使用pygal繪制XY線圖248
9.2.4 使用pygal繪制餅狀圖249
9.2.5 使用pygal繪制雷達(dá)圖250
9.2.6 使用pygal模擬擲骰子251
9.3 分析與圖書銷售相關(guān)的數(shù)據(jù)254
9.3.1 分析某出版社開發(fā)類圖書的銷售
數(shù)據(jù)254
9.3.2 繪制圖書銷售數(shù)據(jù)的疊加柱狀圖和
疊加折線圖256
9.3.3 繪制圖書銷售數(shù)據(jù)儀表圖256
9.4 使用pygal分析網(wǎng)絡(luò)數(shù)據(jù)258
9.4.1 統(tǒng)計(jì)前30名GitHub最受歡迎的
Python庫258
9.4.2 使用pygal實(shí)現(xiàn)數(shù)據(jù)可視化261
9.5 繪制比特幣收盤價(jià)數(shù)據(jù)折線圖263
9.5.1 準(zhǔn)備數(shù)據(jù)文件263
9.5.2 繪制圖形263
第10章 使用庫numPy實(shí)現(xiàn)數(shù)據(jù)可視化
處理266
10.1 庫numPy基礎(chǔ)266
10.1.1 多維數(shù)組操作266
10.1.2 構(gòu)造數(shù)組和索引數(shù)組267
10.1.3 數(shù)組操作函數(shù)268
10.2 庫numPy通用函數(shù)271
10.2.1 字符串函數(shù)271
10.2.2 算數(shù)運(yùn)算函數(shù)273
10.2.3 統(tǒng)計(jì)函數(shù)275
10.2.4 排序、搜索和計(jì)數(shù)函數(shù)276
10.2.5 字節(jié)交換277
10.3 聯(lián)合使用numPy和
matplotlib278
10.3.1 在numPy中使用matplotlib
繪圖278
10.3.2 在numPy中使用matplotlib繪制
正弦波圖279
10.3.3 在numPy中使用matplotlib繪制
直方圖280
10.4 大數(shù)據(jù)分析最受歡迎的兒童
名字280
10.4.1 需要用到的庫280
10.4.2 下載數(shù)據(jù)文件281
10.4.3 分析兒童的名字283
第11章 使用庫pandas實(shí)現(xiàn)數(shù)據(jù)可視化
處理292
11.1 安裝庫pandas292
11.2 從CSV文件讀取數(shù)據(jù)293
11.2.1 讀取顯示CSV文件中的前3條
數(shù)據(jù)293
11.2.2 讀取顯示CSV文件中指定列的
數(shù)據(jù)297
11.2.3 以統(tǒng)計(jì)圖方式顯示CSV文件中的
數(shù)據(jù)298
11.2.4 選擇指定數(shù)據(jù)299
11.3 日期相關(guān)操作306
11.3.1 統(tǒng)計(jì)每個(gè)月的騎行數(shù)據(jù)306
11.3.2 顯示某街道前5天的騎行數(shù)據(jù)
信息307
11.3.3 統(tǒng)計(jì)周一到周日每天的數(shù)據(jù)308
11.3.4 使用matplotlib圖表統(tǒng)計(jì)數(shù)據(jù)309
11.4 分析服務(wù)器日志數(shù)據(jù)312
11.4.1 分析統(tǒng)計(jì)每個(gè)enrollment_id事件的
總數(shù)312
11.4.2 統(tǒng)計(jì)每種時(shí)間的個(gè)數(shù)和占用
比率313
11.5 使用pandas提取數(shù)據(jù)并構(gòu)建
Neo4j知識圖譜314
11.5.1 使用pandas提取Excel數(shù)據(jù)314
11.5.2 將數(shù)據(jù)保存到Neo4j數(shù)據(jù)庫并構(gòu)建
知識圖譜318
第12章 大數(shù)據(jù)實(shí)戰(zhàn):電影票房
系統(tǒng)322
12.1 背景介紹322
12.2 需求分析322
12.3 模塊架構(gòu)323
12.4 爬取數(shù)據(jù)323
12.4.1 分析網(wǎng)頁324
12.4.2 破解反爬325
12.4.3 構(gòu)造請求頭328
12.4.4 實(shí)現(xiàn)具體爬蟲功能329
12.4.5 將爬取的信息保存到數(shù)據(jù)庫331
12.5 數(shù)據(jù)分析334
12.5.1 電影票房TOP10334
12.5.2 電影評分TOP10335
12.5.3 電影人氣TOP10337
12.5.4 每月電影上映數(shù)量338
12.5.5 每月電影票房339
12.5.6 名利雙收TOP10341
12.5.7 叫座不叫好TOP10342
12.5.8 電影類型分布344