Python 數據分析入門與實戰

劉麟

  • 出版商: 人民郵電
  • 出版日期: 2023-04-01
  • 定價: $599
  • 售價: 7.5$449
  • 語言: 簡體中文
  • 頁數: 384
  • ISBN: 7115599343
  • ISBN-13: 9787115599346
  • 相關分類: Data Science
  • 立即出貨 (庫存 < 3)

  • Python 數據分析入門與實戰-preview-1
  • Python 數據分析入門與實戰-preview-2
Python 數據分析入門與實戰-preview-1

商品描述

本書從數據分析的基本概念和Python的基礎語法講起,然後逐步深入到Python數據分析的編程技術方面,並結合實戰重點講解瞭如何使用主流Python數據分析庫進行數據分析,讓讀者快速掌握Python的編程基礎知識,並對Python數據分析有更加深入的理解。

本書分為13章,涵蓋的主要內容有數據分析概述、Python的特點和編程基礎、NumPy數組的基礎和進階用法、Pandas數據處理和數據分析、數據的導入導出、數據可視化,以及Python網絡爬蟲和Scikit-learn機器學習的入門知識。

本書內容豐富,語言簡潔、通俗易懂,實用性強,還包含實戰案例,特別適合Python的初學者和自學者,以及缺乏編程經驗的數據分析從業人員閱讀,也適合對數據分析編程感興趣的愛好者閱讀。

  

作者簡介

刘麟 软件系统架构师,长期为企业和相关机构开设Python和数据分析相关的公开课并担任主讲人。他曾与南加州大学合作参与了生物信息相关的研究课题,负责基因数据分析的工作,共同合作的论文发表于Nature期刊。他参加的开发项目包括了智能推荐系统、云计算、移动互联网产品等,有着丰富的Python开发和数据分析工作的经验。

目錄大綱

第 1章 數據分析概述 1

1.1 數據分析的含義 1

1.2 數據分析的基礎流程 1

1.3 數據收集 2

1.3.1 線下收集 2

1.3.2 線上收集 3

1.4 統計分析策略 3

1.4.1 描述性統計分析 3

1.4.2 推斷性統計分析 4

1.4.3 探索性統計分析 5

1.5 數據分析方法 5

1.5.1 公式拆解法 5

1.5.2 對比分析法 6

1.5.3 預測分析法 6

1.5.4 漏鬥分析法 6

1.5.5 象限分析法 7

1.6 數據挖掘的標準流程(CRISP-DM模型) 7

1.7 數據分析工具 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在數據分析上的優勢 13

2.3.1 自由的數據結構 13

2.3.2 黏合劑Python 13

2.3.3 豐富的第三方庫 13

2.4 數據分析的第三方庫 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 網絡爬蟲的第三方庫 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操作系統下安裝Python 18

3.1.2 在macOS下安裝Python 18

3.1.3 在GNU/Linux操作系統下安裝Python 19

3.1.4 安裝及更新Python庫 19

3.1.5 集成開發環境 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 變量和數據類型 23

3.4.1 變量賦值 23

3.4.2 布爾型 24

3.4.3 數值類型 24

3.4.4 字符串 24

3.5 內置的數據結構 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 循環語句 29

3.6.3 break和continue關鍵字 30

3.7 函數 31

3.7.1 函數定義  31

3.7.2 函數調用 31

3.7.3 lambda函數 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數組:基礎篇 40

4.1 數組對象 40

4.1.1 對象屬性 40

4.1.2 數據類型 42

4.2 創建數組 44

4.2.1 通用的創建方式 44

4.2.2 填充數組 45

4.2.3 對角矩陣 48

4.2.4 空數組 50

4.2.5 等差數組 51

4.2.6 隨機數組 52

4.3 數組訪問 58

4.3.1 基礎索引 58

4.3.2 數組切片 60

4.3.3 索引切片 62

4.4 數組更新 64

4.4.1 更新數組元素 64

4.4.2 插入數組元素 67

4.4.3 刪除數組元素 72

4.4.4 復制數組 74

4.5 數組變換 76

4.5.1 數組重塑 76

4.5.2 軸變換 79

4.5.3 數組合並:拼接 89

4.5.4 數組合並:堆疊 94

4.5.5 數組拆分 100

4.6 矩陣運算 102

4.6.1 矩陣對象 102

4.6.2 矩陣乘法 107

4.6.3 逆矩陣和共軛矩陣 108

4.6.4 數值特徵和特徵值 112

4.6.5 矩陣分解 116

4.7 數組運算 119

4.7.1 算術運算 119

4.7.2 絕對值 122

4.7.3 指數和對數 123

4.7.4 三角和反三角函數 124

4.8 聚合統計 126

4.8.1 求和與乘積 126

4.8.2 均值和標準差 128

4.8.3 最大值和最小值 129

4.8.4 中位數和百分位數 130

4.8.5 邏輯統計函數 132

4.8.6 多維數組的聚合 134

第5章 NumPy數組:進階篇 137

5.1 NumPy的高效運算 137

5.1.1 快速的矢量化計算 137

5.1.2 靈活的廣播機制 139

5.1.3 廣播的規則 141

5.2 通用函數 144

5.2.1 初識通用函數 144

5.2.2 通用函數的實例方法 151

5.2.3 定義新的通用函數 154

5.3 數組形式的條件判斷 156

5.3.1 布爾表達式 156

5.3.2 where函數 158

5.3.3 where參數 161

5.4 數組的高級索引 163

5.4.1 布爾索引 163

5.4.2 Fancy索引 164

5.4.3 索引組合 165

5.5 數組排序 166

5.5.1 直接排序 166

5.5.2 間接排序 168

5.5.3 分區排序 169

5.6 結構化數組 170

5.6.1 結構化數組的創建 170

5.6.2 結構化數組的索引訪問 172

5.6.3 記錄數組 173

第6章 Pandas:數據處理 174

6.1 Pandas數據結構 174

6.1.1 Series對象 174

6.1.2 DataFrame對象 178

6.1.3 索引對象 183

6.2 數據索引和選取 185

6.2.1 Series中的數據選取 185

6.2.2 DataFrame中的數據選取 189

6.3 處理缺失數據 193

6.3.1 表示缺失數據的策略 193

6.3.2 Pandas中的缺失數據 194

6.3.3 對缺失值的操作 197

6.4 數據集合並 201

6.4.1 append函數 201

6.4.2 concat函數 202

6.4.3 join函數 205

6.4.4 merge函數 206

6.5 分層索引 212

6.5.1 分層索引:從一維到多維 212

6.5.2 分層索引的構建方法 214

6.5.3 多層級切片 216

6.5.4 重新排列分層索引 217

第7章 Pandas:數據分析 221

7.1 Pandas中的數組運算 221

7.1.1 Pandas中的通用函數 221

7.1.2 索引保留 226

7.1.3 索引對齊 227

7.1.4 Series和DataFrame之間的運算 229

7.2 數據聚合 231

7.2.1 基礎的聚合操作 231

7.2.2 靈活的聚合函數 235

7.2.3 基於行索引的分組聚合 238

7.3 數據分組 242

7.3.1 分組對象 242

7.3.2 分組鍵 246

7.3.3 分組聚合 257

7.3.4 過濾分組數據 260

7.3.5 基於分組的數據轉換 263

7.4 數據透視表 265

7.4.1 透視表和分組對象 265

7.4.2 定製透視表 270

7.4.3 透視表的進階用法 273

7.5 時間序列 276

7.5.1 時間數據的類型 276

7.5.2 時間序列的索引 278

7.5.3 時間序列的數據訪問 287

第8章 數據的導入導出 294

8.1 文本數據 294

8.1.1 從文本導入數據 294

8.1.2 導出數據到文本 296

8.2 Excel數據 297

8.2.1 從電子表格導入數據 297

8.2.2 導出數據到電子表格 298

8.3 網絡數據 299

8.3.1 JSON格式 299

8.3.2 XML和HTML格式 301

8.4 數據庫 302

8.4.1 關系數據庫 302

8.4.2 數據庫API 303

8.5 Pandas數據對象的導入導出 305

8.5.1 分隔文本格式 305

8.5.2 Excel數據格式 309

8.5.3 JSON數據格式 310

8.5.4 讀取數據庫 311

第9章 數據可視化 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章 實戰:數據預處理 323

10.1 數據導入 323

10.1.1 數據描述 323

10.1.2 數據讀取 323

10.1.3 數據合並 324

10.2 數據清洗 324

10.2.1 冗餘數據 324

10.2.2 缺失數據 325

10.2.3 無效數據 325

10.3 數據轉換 326

10.3.1 數據類型轉換 326

10.3.2 分層索引 327

10.3.3 生成時間序列 327

10.4 數據過濾 329

10.5 數據導出 329

第 11章 實戰:數據分析 331

11.1 時間序列分析 331

11.1.1 導入時間序列 331

11.1.2 生成時間區間數據 332

11.1.3 時間窗函數 333

11.2 統計分析 336

11.2.1 描述性統計 336

11.2.2 聚合統計 337

11.2.3 分組統計 339

11.3 關聯分析 341

11.3.1 數據聯合 341

11.3.2 協方差和相關系數 343

11.4 透視表分析 344

11.4.1 數據集整合 344

11.4.2 分層透視表 346

第 12章 Python網絡爬蟲 350

12.1 Robots協議 350

12.2 數據抓取 351

12.2.1 最基本的數據抓取 351

12.2.2 處理登錄請求 352

12.2.3 連接超時 353

12.3 Scrapy庫 354

12.3.1 搭建工程項目 354

12.3.2 編寫爬蟲 355

12.3.3 數據選擇器 356

12.3.4 定義數據對象 360

12.3.5 數據管道 362

第 13章 Scikit-learn機器學習 365

13.1 選擇合適的機器學習模型 365

13.2 數據預處理 365

13.2.1 標準化 366

13.2.2 歸一化 367

13.2.3 正態化 368

13.3 監督學習 369

13.3.1 線性模型 369

13.3.2 最近鄰算法 371

13.3.3 支持向量機 374

13.3.4 隨機森林 376

13.4 無監督學習 377

13.4.1 K-means聚類算法 377

13.4.2 主成分分析(PCA) 379

13.4.3 高斯混合模型 381