Python數(shù)據(jù)分析入門與實戰(zhàn)
定 價:99.8 元
- 作者:劉麟
- 出版時間:2023/4/1
- ISBN:9787115599346
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:384
- 紙張:
- 版次:01
- 開本:16開
本書從數(shù)據(jù)分析的基本概念和Python的基礎語法講起,然后逐步深入到Python數(shù)據(jù)分析的編程技術方面,并結合實戰(zhàn)重點講解了如何使用主流Python數(shù)據(jù)分析庫進行數(shù)據(jù)分析,讓讀者快速掌握Python的編程基礎知識,并對Python數(shù)據(jù)分析有更加深入的理解。
本書分為13章,涵蓋的主要內容有數(shù)據(jù)分析概述、Python的特點和編程基礎、NumPy數(shù)組的基礎和進階用法、Pandas數(shù)據(jù)處理和數(shù)據(jù)分析、數(shù)據(jù)的導入導出、數(shù)據(jù)可視化,以及Python網(wǎng)絡爬蟲和Scikit-learn機器學習的入門知識。
本書內容豐富全面,語言簡潔、通俗易懂,實用性強,還包含實戰(zhàn)案例,特別適合Python的初學者和自學者,以及缺乏編程經驗的數(shù)據(jù)分析從業(yè)人員閱讀,也適合對數(shù)據(jù)分析編程感興趣的愛好者閱讀。
● 內容全面 覆蓋數(shù)據(jù)爬取、數(shù)據(jù)存取、數(shù)據(jù)訪問、數(shù)據(jù)預處理和數(shù)據(jù)分析等
● 案例豐富 實戰(zhàn)案例+ 案例源碼,幫助讀者快速掌握實操技能
● 知識拓展 網(wǎng)絡爬蟲+ 機器學習,幫助讀者進一步提升專業(yè)技能
劉麟 軟件系統(tǒng)架構師,長期為企業(yè)和相關機構開設Python和數(shù)據(jù)分析相關的公開課并擔任主講人。他曾與南加州大學合作參與了生物信息相關的研究課題,負責基因數(shù)據(jù)分析的工作,共同合作的論文發(fā)表于Nature期刊。他參加的開發(fā)項目包括了智能推薦系統(tǒng)、云計算、移動互聯(lián)網(wǎng)產品等,有著豐富的Python開發(fā)和數(shù)據(jù)分析工作的經驗。
第 1章 數(shù)據(jù)分析概述 1
1.1 數(shù)據(jù)分析的含義 1
1.2 數(shù)據(jù)分析的基礎流程 1
1.3 數(shù)據(jù)收集 2
1.3.1 線下收集 2
1.3.2 線上收集 3
1.4 統(tǒng)計分析策略 3
1.4.1 描述性統(tǒng)計分析 3
1.4.2 推斷性統(tǒng)計分析 4
1.4.3 探索性統(tǒng)計分析 5
1.5 數(shù)據(jù)分析方法 5
1.5.1 公式拆解法 5
1.5.2 對比分析法 6
1.5.3 預測分析法 6
1.5.4 漏斗分析法 6
1.5.5 象限分析法 7
1.6 數(shù)據(jù)挖掘的標準流程(CRISP-DM模型) 7
1.7 數(shù)據(jù)分析工具 8
1.7.1 Microsoft Excel 8
1.7.2 R語言 9
1.7.3 Python 9
第 2章 為什么選擇Python 10
2.1 關于Python 10
2.1.1 Python的起源 10
2.1.2 Python 2和Python 3 11
2.2 了解Python的特點 11
2.2.1 簡單易學 11
2.2.2 自由開放 12
2.2.3 解釋型語言 12
2.2.4 封裝與擴展性 12
2.3 Python在數(shù)據(jù)分析上的優(yōu)勢 13
2.3.1 自由的數(shù)據(jù)結構 13
2.3.2 黏合劑Python 13
2.3.3 豐富的第三方庫 13
2.4 數(shù)據(jù)分析的第三方庫 14
2.4.1 NumPy 14
2.4.2 Pandas 14
2.4.3 Matplotlib 15
2.4.4 SciPy 15
2.4.5 Scikit-learn 15
2.5 網(wǎng)絡爬蟲的第三方庫 16
2.5.1 Request 16
2.5.2 lxml 16
2.5.3 html5lib 16
2.5.4 BeautifulSoup 17
2.5.5 Scrapy 17
第3章 Python編程基礎 18
3.1 安裝與配置 18
3.1.1 在Windows操作系統(tǒng)下安裝Python 18
3.1.2 在macOS下安裝Python 18
3.1.3 在GNU/Linux操作系統(tǒng)下安裝Python 19
3.1.4 安裝及更新Python庫 19
3.1.5 集成開發(fā)環(huán)境 20
3.2 Hello World! 20
3.2.1 Python解釋器 20
3.2.2 運行IPython 21
3.3 基礎語法 22
3.3.1 縮進 22
3.3.2 注釋 22
3.3.3 標識符 23
3.3.4 關鍵字 23
3.4 變量和數(shù)據(jù)類型 23
3.4.1 變量賦值 23
3.4.2 布爾型 24
3.4.3 數(shù)值類型 24
3.4.4 字符串 24
3.5 內置的數(shù)據(jù)結構 25
3.5.1 集合 25
3.5.2 元組 26
3.5.3 列表 26
3.5.4 字典 27
3.6 控制流 28
3.6.1 條件語句 28
3.6.2 循環(huán)語句 29
3.6.3 break和continue關鍵字 30
3.7 函數(shù) 31
3.7.1 函數(shù)定義 31
3.7.2 函數(shù)調用 31
3.7.3 lambda函數(shù) 32
3.8 類 32
3.8.1 類定義 32
3.8.2 類的實例化 33
3.8.3 類的屬性訪問 34
3.8.4 類的方法調用 35
3.9 文件操作 36
3.9.1 打開和關閉文件 36
3.9.2 讀寫文件 37
第4章 NumPy數(shù)組:基礎篇 40
4.1 數(shù)組對象 40
4.1.1 對象屬性 40
4.1.2 數(shù)據(jù)類型 42
4.2 創(chuàng)建數(shù)組 44
4.2.1 通用的創(chuàng)建方式 44
4.2.2 填充數(shù)組 45
4.2.3 對角矩陣 48
4.2.4 空數(shù)組 50
4.2.5 等差數(shù)組 51
4.2.6 隨機數(shù)組 52
4.3 數(shù)組訪問 58
4.3.1 基礎索引 58
4.3.2 數(shù)組切片 60
4.3.3 索引切片 62
4.4 數(shù)組更新 64
4.4.1 更新數(shù)組元素 64
4.4.2 插入數(shù)組元素 67
4.4.3 刪除數(shù)組元素 72
4.4.4 復制數(shù)組 74
4.5 數(shù)組變換 76
4.5.1 數(shù)組重塑 76
4.5.2 軸變換 79
4.5.3 數(shù)組合并:拼接 89
4.5.4 數(shù)組合并:堆疊 94
4.5.5 數(shù)組拆分 100
4.6 矩陣運算 102
4.6.1 矩陣對象 102
4.6.2 矩陣乘法 107
4.6.3 逆矩陣和共軛矩陣 108
4.6.4 數(shù)值特征和特征值 112
4.6.5 矩陣分解 116
4.7 數(shù)組運算 119
4.7.1 算術運算 119
4.7.2 絕對值 122
4.7.3 指數(shù)和對數(shù) 123
4.7.4 三角和反三角函數(shù) 124
4.8 聚合統(tǒng)計 126
4.8.1 求和與乘積 126
4.8.2 均值和標準差 128
4.8.3 最大值和最小值 129
4.8.4 中位數(shù)和百分位數(shù) 130
4.8.5 邏輯統(tǒng)計函數(shù) 132
4.8.6 多維數(shù)組的聚合 134
第5章 NumPy數(shù)組:進階篇 137
5.1 NumPy的高效運算 137
5.1.1 快速的矢量化計算 137
5.1.2 靈活的廣播機制 139
5.1.3 廣播的規(guī)則 141
5.2 通用函數(shù) 144
5.2.1 初識通用函數(shù) 144
5.2.2 通用函數(shù)的實例方法 151
5.2.3 定義新的通用函數(shù) 154
5.3 數(shù)組形式的條件判斷 156
5.3.1 布爾表達式 156
5.3.2 where函數(shù) 158
5.3.3 where參數(shù) 161
5.4 數(shù)組的高級索引 163
5.4.1 布爾索引 163
5.4.2 Fancy索引 164
5.4.3 索引組合 165
5.5 數(shù)組排序 166
5.5.1 直接排序 166
5.5.2 間接排序 168
5.5.3 分區(qū)排序 169
5.6 結構化數(shù)組 170
5.6.1 結構化數(shù)組的創(chuàng)建 170
5.6.2 結構化數(shù)組的索引訪問 172
5.6.3 記錄數(shù)組 173
第6章 Pandas:數(shù)據(jù)處理 174
6.1 Pandas數(shù)據(jù)結構 174
6.1.1 Series對象 174
6.1.2 DataFrame對象 178
6.1.3 索引對象 183
6.2 數(shù)據(jù)索引和選取 185
6.2.1 Series中的數(shù)據(jù)選取 185
6.2.2 DataFrame中的數(shù)據(jù)選取 189
6.3 處理缺失數(shù)據(jù) 193
6.3.1 表示缺失數(shù)據(jù)的策略 193
6.3.2 Pandas中的缺失數(shù)據(jù) 194
6.3.3 對缺失值的操作 197
6.4 數(shù)據(jù)集合并 201
6.4.1 append函數(shù) 201
6.4.2 concat函數(shù) 202
6.4.3 join函數(shù) 205
6.4.4 merge函數(shù) 206
6.5 分層索引 212
6.5.1 分層索引:從一維到多維 212
6.5.2 分層索引的構建方法 214
6.5.3 多層級切片 216
6.5.4 重新排列分層索引 217
第7章 Pandas:數(shù)據(jù)分析 221
7.1 Pandas中的數(shù)組運算 221
7.1.1 Pandas中的通用函數(shù) 221
7.1.2 索引保留 226
7.1.3 索引對齊 227
7.1.4 Series和DataFrame之間的運算 229
7.2 數(shù)據(jù)聚合 231
7.2.1 基礎的聚合操作 231
7.2.2 靈活的聚合函數(shù) 235
7.2.3 基于行索引的分組聚合 238
7.3 數(shù)據(jù)分組 242
7.3.1 分組對象 242
7.3.2 分組鍵 246
7.3.3 分組聚合 257
7.3.4 過濾分組數(shù)據(jù) 260
7.3.5 基于分組的數(shù)據(jù)轉換 263
7.4 數(shù)據(jù)透視表 265
7.4.1 透視表和分組對象 265
7.4.2 定制透視表 270
7.4.3 透視表的進階用法 273
7.5 時間序列 276
7.5.1 時間數(shù)據(jù)的類型 276
7.5.2 時間序列的索引 278
7.5.3 時間序列的數(shù)據(jù)訪問 287
第8章 數(shù)據(jù)的導入導出 294
8.1 文本數(shù)據(jù) 294
8.1.1 從文本導入數(shù)據(jù) 294
8.1.2 導出數(shù)據(jù)到文本 296
8.2 Excel數(shù)據(jù) 297
8.2.1 從電子表格導入數(shù)據(jù) 297
8.2.2 導出數(shù)據(jù)到電子表格 298
8.3 網(wǎng)絡數(shù)據(jù) 299
8.3.1 JSON格式 299
8.3.2 XML和HTML格式 301
8.4 數(shù)據(jù)庫 302
8.4.1 關系數(shù)據(jù)庫 302
8.4.2 數(shù)據(jù)庫API 303
8.5 Pandas數(shù)據(jù)對象的導入導出 305
8.5.1 分隔文本格式 305
8.5.2 Excel數(shù)據(jù)格式 309
8.5.3 JSON數(shù)據(jù)格式 310
8.5.4 讀取數(shù)據(jù)庫 311
第9章 數(shù)據(jù)可視化 312
9.1 Matplotlib繪圖的基礎設置 312
9.1.1 繪圖面板 312
9.1.2 圖形樣式 313
9.1.3 坐標軸 315
9.1.4 圖例 317
9.2 Pandas繪圖接口 318
9.2.1 折線圖 318
9.2.2 柱狀圖 319
9.2.3 直方圖和密度圖 321
9.2.4 散點圖 321
第 10章 實戰(zhàn):數(shù)據(jù)預處理 323
10.1 數(shù)據(jù)導入 323
10.1.1 數(shù)據(jù)描述 323
10.1.2 數(shù)據(jù)讀取 323
10.1.3 數(shù)據(jù)合并 324
10.2 數(shù)據(jù)清洗 324
10.2.1 冗余數(shù)據(jù) 324
10.2.2 缺失數(shù)據(jù) 325
10.2.3 無效數(shù)據(jù) 325
10.3 數(shù)據(jù)轉換 326
10.3.1 數(shù)據(jù)類型轉換 326
10.3.2 分層索引 327
10.3.3 生成時間序列 327
10.4 數(shù)據(jù)過濾 329
10.5 數(shù)據(jù)導出 329
第 11章 實戰(zhàn):數(shù)據(jù)分析 331
11.1 時間序列分析 331
11.1.1 導入時間序列 331
11.1.2 生成時間區(qū)間數(shù)據(jù) 332
11.1.3 時間窗函數(shù) 333
11.2 統(tǒng)計分析 336
11.2.1 描述性統(tǒng)計 336
11.2.2 聚合統(tǒng)計 337
11.2.3 分組統(tǒng)計 339
11.3 關聯(lián)分析 341
11.3.1 數(shù)據(jù)聯(lián)合 341
11.3.2 協(xié)方差和相關系數(shù) 343
11.4 透視表分析 344
11.4.1 數(shù)據(jù)集整合 344
11.4.2 分層透視表 346
第 12章 Python網(wǎng)絡爬蟲 350
12.1 Robots協(xié)議 350
12.2 數(shù)據(jù)抓取 351
12.2.1 最基本的數(shù)據(jù)抓取 351
12.2.2 處理登錄請求 352
12.2.3 連接超時 353
12.3 Scrapy庫 354
12.3.1 搭建工程項目 354
12.3.2 編寫爬蟲 355
12.3.3 數(shù)據(jù)選擇器 356
12.3.4 定義數(shù)據(jù)對象 360
12.3.5 數(shù)據(jù)管道 362
第 13章 Scikit-learn機器學習 365
13.1 選擇合適的機器學習模型 365
13.2 數(shù)據(jù)預處理 365
13.2.1 標準化 366
13.2.2 歸一化 367
13.2.3 正態(tài)化 368
13.3 監(jiān)督學習 369
13.3.1 線性模型 369
13.3.2 最近鄰算法 371
13.3.3 支持向量機 374
13.3.4 隨機森林 376
13.4 無監(jiān)督學習 377
13.4.1 K-means聚類算法 377
13.4.2 主成分分析(PCA) 379
13.4.3 高斯混合模型 381