Python數(shù)據(jù)分析與可視化教程(微課版)
定 價:69.8 元
- 作者:夏敏捷 尚展壘
- 出版時間:2024/1/1
- ISBN:9787115626844
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:319
- 紙張:
- 版次:01
- 開本:16開
本書以Python 3.9為編程環(huán)境,從Python編程基礎(chǔ)到擴(kuò)展庫,再到數(shù)據(jù)分析,逐步展開Python數(shù)據(jù)分析與可視化教學(xué)。本書首先簡要介紹數(shù)據(jù)分析與可視化的相關(guān)概念,并介紹Python基礎(chǔ)知識;然后按照數(shù)據(jù)分析的主要步驟,重點(diǎn)介紹與數(shù)據(jù)獲取、數(shù)據(jù)處理、數(shù)據(jù)分析、數(shù)據(jù)可視化以及機(jī)器學(xué)習(xí)建模過程相關(guān)的擴(kuò)展庫,包括NumPy、Pandas、BeautifulSoup、sklearn、Matplotlib、seaborn、pyecharts等;最后通過股票數(shù)據(jù)量化分析和銷售業(yè)客戶價值數(shù)據(jù)分析兩個案例實(shí)戰(zhàn)演示Python和相關(guān)擴(kuò)展庫的應(yīng)用,將Python數(shù)據(jù)分析和可視化知識與實(shí)用案例有機(jī)結(jié)合。
本書適合作為高等院校本科生“數(shù)據(jù)分析”等課程的教材,也適合作為數(shù)據(jù)分析初學(xué)者的自學(xué)用書,還適合從事數(shù)據(jù)分析相關(guān)工作的工程師和愛好者閱讀。
1.本書通過編寫經(jīng)典、有趣的案例來教授Python數(shù)據(jù)分析與可視化,并且采用可視化展示效果。通過實(shí)例來解釋數(shù)據(jù)分析的原理和方式。
2.列出完整的案例代碼,對源代碼進(jìn)行了詳細(xì)解說。并且每章都有實(shí)訓(xùn)內(nèi)容。
3.每款案例均提供詳細(xì)的設(shè)計思路、關(guān)鍵技術(shù)分析以及具體的解決步驟方案,讓讀者進(jìn)入Python數(shù)據(jù)分析的大門,真正了解數(shù)據(jù)分析設(shè)計的秘密同時掌握相應(yīng)技巧。
夏敏捷 中原工學(xué)院教師,主要研究項(xiàng)目及領(lǐng)域:計算機(jī)、可視化、游戲開發(fā)等。 個人榮譽(yù):2019年度被評為校級師德標(biāo)兵,2020年度被評為校級教學(xué)名師。 出版圖書: 《Python項(xiàng)目案例開發(fā)從入門到實(shí)戰(zhàn)》清華大學(xué)出版社,2019年, 年銷量8000冊。 《Python程序設(shè)計——從基礎(chǔ)開發(fā)到數(shù)據(jù)分析(微課版)》清華大學(xué)出版社,2020年,年銷量8000冊。 《Python基礎(chǔ)入門-微課視頻版》清華大學(xué)出版社,2021年,年銷量5000。
1.1 數(shù)據(jù)與大數(shù)據(jù) 1
1.2 數(shù)據(jù)分析 2
1.3 數(shù)據(jù)可視化 3
1.3.1 數(shù)據(jù)可視化的目標(biāo) 3
1.3.2 數(shù)據(jù)可視化的作用 4
1.3.3 數(shù)據(jù)可視化的優(yōu)勢 5
1.4 數(shù)據(jù)分析流程 5
1.5 Python數(shù)據(jù)分析與可視化 6
1.5.1 為什么選擇Python做數(shù)據(jù)分析 6
1.5.2 Python數(shù)據(jù)分析與可視化常用類庫 7
1.6 Jupyter Notebook的安裝和使用 8
1.6.1 Jupyter Notebook的安裝 8
1.6.2 Jupyter Notebook的使用 9
1.7 PyCharm的安裝和使用 11
習(xí)題 13
實(shí)驗(yàn)一 熟悉Python開發(fā)環(huán)境 13
2.1 Python語言簡介 15
2.2 Python語言基本語法 16
2.2.1 Python基礎(chǔ)數(shù)據(jù)類型 16
2.2.2 Python數(shù)據(jù)結(jié)構(gòu) 17
2.2.3 Python控制語句 26
2.2.4 Python函數(shù)與模塊 31
2.3 Python面向?qū)ο蟪绦蛟O(shè)計 36
2.3.1 定義和使用類 36
2.3.2 構(gòu)造函數(shù) 37
2.3.3 析構(gòu)函數(shù) 38
2.3.4 實(shí)例屬性和類屬性 38
2.3.5 私有成員與公有成員 39
2.3.6 方法 40
2.3.7 類的繼承 41
2.4 Python圖形用戶界面設(shè)計 43
2.4.1 創(chuàng)建Windows窗口 43
2.4.2 幾何布局管理器 44
2.4.3 Tkinter組件 47
2.4.4 Python事件處理 58
2.4.5 圖形用戶界面設(shè)計應(yīng)用案例 62
2.5 操作常用文件 65
2.5.1 操作CSV文件 65
2.5.2 操作Excel文件 67
2.5.3 操作JSON文件 70
2.6 Python的第三方庫 72
習(xí)題 73
實(shí)驗(yàn)二 基于Tkinter的GUI程序開發(fā) 74
3.1 NumPy數(shù)組的使用 81
3.1.1 NumPy數(shù)組說明 81
3.1.2 NumPy數(shù)組中的元素訪問 85
3.1.3 NumPy數(shù)組的運(yùn)算 86
3.1.4 NumPy數(shù)組的形狀操作 89
3.2 NumPy中的矩陣對象 91
3.3 NumPy中的數(shù)據(jù)統(tǒng)計分析 92
3.3.1 排序 92
3.3.2 數(shù)據(jù)去重與數(shù)據(jù)重復(fù) 94
習(xí)題 96
實(shí)驗(yàn)三 NumPy數(shù)據(jù)分析應(yīng)用 97
4.1 Pandas 102
4.1.1 Series 102
4.1.2 DataFrame 105
4.2 Pandas統(tǒng)計 112
4.2.1 基本統(tǒng)計 112
4.2.2 分組統(tǒng)計 113
4.3 Pandas排序和排名 114
4.3.1 Series的排序 114
4.3.2 DataFrame的排序 115
4.3.3 Series和DataFrame的排名 116
4.4 Pandas篩選和過濾 118
4.4.1 篩選 118
4.4.2 按篩選條件進(jìn)行匯總 120
4.4.3 過濾 121
4.5 Pandas數(shù)據(jù)透視表和交叉表 122
4.5.1 數(shù)據(jù)透視表 122
4.5.2 交叉表 125
4.6 Pandas數(shù)據(jù)導(dǎo)入導(dǎo)出 126
4.6.1 導(dǎo)入CSV文件 126
4.6.2 導(dǎo)入其他格式文件 127
4.6.3 導(dǎo)出Excel文件 127
4.6.4 導(dǎo)出CSV文件 128
4.6.5 讀取和寫入數(shù)據(jù)庫 128
4.7 Pandas日期處理 129
4.8 Pandas數(shù)據(jù)運(yùn)算 133
4.8.1 簡單算術(shù)運(yùn)算 133
4.8.2 應(yīng)用函數(shù)運(yùn)算 134
4.9 Pandas數(shù)據(jù)分析應(yīng)用案例——學(xué)生成績統(tǒng)計分析 136
習(xí)題 140
實(shí)驗(yàn)四 Pandas數(shù)據(jù)分析應(yīng)用 141
5.1 HTTP與網(wǎng)絡(luò)爬蟲相關(guān)知識 145
5.2 urllib庫 146
5.2.1 urllib庫簡介 146
5.2.2 urllib庫的基本使用 147
5.3 BeautifulSoup庫 155
5.3.1 BeautifulSoup庫概述 155
5.3.2 BeautifulSoup庫的四大對象 156
5.3.3 BeautifulSoup庫解析文檔樹 158
5.4 requests庫 161
5.4.1 requests庫的使用 161
5.4.2 requests庫的應(yīng)用案例 165
5.5 動態(tài)網(wǎng)頁爬蟲 168
5.5.1 AJAX動態(tài)網(wǎng)頁爬取 168
5.5.2 動態(tài)網(wǎng)頁爬蟲——爬取今日頭條新聞 171
5.6 Selenium實(shí)現(xiàn)AJAX動態(tài)加載 172
5.6.1 安裝Selenium 172
5.6.2 Selenium詳細(xì)用法 174
5.6.3 Selenium應(yīng)用案例 177
5.6.4 Selenium處理滾動條 179
5.6.5 Selenium動態(tài)加載——爬取今日頭條新聞 180
5.7 爬蟲應(yīng)用案例——Python爬取新浪國內(nèi)新聞 181
5.8 爬蟲應(yīng)用案例——Python爬取豆瓣電影TOP 250 184
習(xí)題 187
實(shí)驗(yàn)五 Python爬取網(wǎng)頁信息 187
6.1 數(shù)據(jù)處理 192
6.1.1 數(shù)據(jù)清理 192
6.1.2 數(shù)據(jù)集成 195
6.1.3 數(shù)據(jù)變換與數(shù)據(jù)離散化 195
6.2 Pandas數(shù)據(jù)清理 196
6.2.1 處理缺失值 197
6.2.2 處理重復(fù)值 201
6.2.3 處理格式錯誤 202
6.2.4 處理錯誤數(shù)據(jù) 202
6.2.5 處理異常值 203
6.3 Pandas數(shù)據(jù)集成 204
6.3.1 SQL合并/連接 204
6.3.2 字段合并 206
6.3.3 記錄合并 206
6.4 Pandas數(shù)據(jù)變換與數(shù)據(jù)離散化 211
6.4.1 簡單函數(shù)變換 211
6.4.2 數(shù)據(jù)標(biāo)準(zhǔn)化 212
6.4.3 數(shù)據(jù)離散化 213
6.5 Pandas數(shù)據(jù)分析 214
6.5.1 描述性分析 214
6.5.2 分布分析 215
6.5.3 相關(guān)分析 217
習(xí)題 218
實(shí)驗(yàn)六 數(shù)據(jù)處理與數(shù)據(jù)分析 218
7.1 機(jī)器學(xué)習(xí)基礎(chǔ) 225
7.1.1 機(jī)器學(xué)習(xí)概念 225
7.1.2 機(jī)器學(xué)習(xí)分類 225
7.1.3 機(jī)器學(xué)習(xí)流程 226
7.1.4 機(jī)器學(xué)習(xí)庫sklearn的安裝 227
7.2 機(jī)器學(xué)習(xí)庫sklearn的應(yīng)用 228
7.2.1 sklearn常用數(shù)據(jù)集 229
7.2.2 聚類 230
7.2.3 分類 232
7.2.4 回歸 233
7.2.5 主成分分析 235
7.2.6 鳶尾花相關(guān)的分類、預(yù)測及降維 236
習(xí)題 240
實(shí)驗(yàn)七 sklearn機(jī)器學(xué)習(xí)應(yīng)用 240
8.1 Matplotlib繪圖可視化 244
8.1.1 Matplotlib.pyplot模塊——快速繪圖 244
8.1.2 繪制直方圖、條形圖、散點(diǎn)圖、餅圖 250
8.1.3 交互式標(biāo)注 254
8.2 seaborn繪圖可視化 254
8.2.1 seaborn安裝和內(nèi)置數(shù)據(jù)集 254
8.2.2 seaborn設(shè)置背景與邊框 255
8.2.3 seaborn繪制散點(diǎn)圖 256
8.2.4 seaborn繪制折線圖 258
8.2.5 seaborn繪制直方圖 260
8.2.6 seaborn繪制條形圖 263
8.2.7 seaborn繪制線性回歸模型 263
8.2.8 seaborn繪制箱線圖 264
8.3 pyecharts繪圖可視化 267
8.3.1 安裝pyecharts 267
8.3.2 體驗(yàn)圖表 268
8.3.3 常用圖表 271
8.4 Pandas數(shù)據(jù)分析應(yīng)用案例——天氣數(shù)據(jù)分析和展示 277
8.4.1 爬取數(shù)據(jù) 277
8.4.2 Pandas處理分析數(shù)據(jù) 279
8.4.3 數(shù)據(jù)可視化展示 279
8.5 數(shù)據(jù)可視化應(yīng)用案例——學(xué)生成績分布條形圖展示 281
8.5.1 程序設(shè)計的思路 282
8.5.2 程序設(shè)計的步驟 282
習(xí)題 284
實(shí)驗(yàn)八 數(shù)據(jù)可視化 284
9.1 股票數(shù)據(jù)量化分析的背景與功能 291
9.2 程序設(shè)計的思路 291
9.3 程序設(shè)計的步驟 292
10.1 銷售業(yè)客戶價值數(shù)據(jù)分析的意義 305
10.2 程序設(shè)計的思路 305
10.3 程序設(shè)計的步驟 306
參考文獻(xiàn) 320