Python編程:從數據分析到數據科學(第2版)

Python編程:從數據分析到數據科學(第2版)

《Python編程:從數據分析到數據科學(第2版)》是2021年電子工業出版社出版的圖書,作者是朝樂門。

基本介紹

  • 中文名:Python編程:從數據分析到數據科學(第2版)
  • 作者:朝樂門
  • 出版社:電子工業出版社
  • 出版時間:2021年6月
  • 頁數:518 頁
  • 定價:98 元
  • 開本:16 開 
  • ISBN:9787121412004
內容簡介,圖書目錄,

內容簡介

本書是為具有數據思維的數據科學、數據分析和大數據套用人群編寫的Python 學習圖書。本書改變了同類圖書中普遍存在的“將Python 當作C/Java 來教(或學)”的現狀,強調了Python 在數據分析和數據科學中的特殊語法和數據思維;同時,改變了傳統圖書中“先將知識點、後擺代碼”的編寫風格,首次將代碼放在中心位置,配合最必要的文字介紹,做到主次分明、一目了然,便於學習。本書主要介紹大數據人才常用的Python 語言及第三方擴展庫的基礎知識、思路、方法、經驗和技巧,建立了從Python 到數據分析再到數據科學的通道,形成了Python 知識、數據分析和數據科學三個知識領域融為一體的知識模式。本書既可以作為從事數據科學、數據分析和大數據套用人群的入門級系統學習圖書,又可以作為相關高校數據科學與大數據技術、大數據套用與管理、信息管理和大數據套用、數據分析、信息分析等專業方向的教材。

圖書目錄

目 錄
第一篇準備工作
1 為什麼要學習Python,學習Python 的什麼.............................................................................. 3
2 學習Python 之前需要準備的工作.............................................................................................. 6
3 如何看懂和運行本書代碼............................................................................................................ 8
3.1 輸入部分..................................................................................................................................8
3.2 輸出部分............................................................................................................................... 10
3.3 錯誤與異常信息.................................................................................................................. 11
3.4 外部數據檔案.......................................................................................................................12
3.5 注意事項............................................................................................................................... 14
第二篇Python 基礎
4 數據類型......................................................................................................................................19
4.1 查看數據類型的方法.......................................................................................................... 20
4.2 判斷數據類型的方法...........................................................................................................21
4.3 轉換數據類型的方法...........................................................................................................22
4.4 特殊數據類型.......................................................................................................................23
4.5 序列類型...............................................................................................................................26
5 變數..............................................................................................................................................28
5.1 變數的定義方法...................................................................................................................29
5.2 Python 是動態類型語言.....................................................................................................29
5.3 Python 是強類型語言........................................................................................................ 30
5.4 Python 中的變數名是引用.................................................................................................31
5.5 Python 中區分大小寫.........................................................................................................32
5.6 變數命名規範.......................................................................................................................32
5.7 iPython 的特殊變數............................................................................................................33
5.8 查看Python 關鍵字的方法............................................................................................... 34
5.9 查看已定義的所有變數.......................................................................................................35
5.10 刪除變數.............................................................................................................................37
6 語句書寫規範..............................................................................................................................39
6.1 一行一句............................................................................................................................... 40
6.2 一行多句............................................................................................................................... 40
vi
目 錄
6.3 一句多行............................................................................................................................... 41
6.4 複合語句.............................................................................................................................. 42
6.5 空語句................................................................................................................................... 43
7 賦值語句.......................................................................................................................................44
7.1 賦值語句在Python 中的重要地位................................................................................... 45
7.2 鏈式賦值語句...................................................................................................................... 45
7.3 複合賦值語句...................................................................................................................... 46
7.4 序列的拆包式賦值.............................................................................................................. 46
7.5 兩個變數值的調換.............................................................................................................. 47
8 注釋語句......................................................................................................................................48
8.1 注釋方法............................................................................................................................... 48
8.2 注意事項............................................................................................................................... 49
9 運算符..........................................................................................................................................50
9.1 特殊運算符...........................................................................................................................53
9.2 內置函式................................................................................................................................57
9.3 math 模組.............................................................................................................................58
9.4 優先權與結合方向...............................................................................................................59
10 if 語句...........................................................................................................................................61
10.1 基本語法.............................................................................................................................61
10.2 elif 語句..............................................................................................................................62
10.3 if 與三元運算......................................................................................................................63
10.4 注意事項............................................................................................................................ 64
11 for 語句.........................................................................................................................................66
11.1 基本語法.............................................................................................................................67
11.2 range()函式........................................................................................................................67
11.3 注意事項.............................................................................................................................68
12 while 語句....................................................................................................................................71
12.1 基本語法.............................................................................................................................71
12.2 注意事項.............................................................................................................................72
13 pass 語句.....................................................................................................................................74
13.1 含義.................................................................................................................................... 74
13.2 作用.....................................................................................................................................75
14 列表.............................................................................................................................................76
14.1 定義方法.............................................................................................................................78
vii
14.2 切片操作.............................................................................................................................79
14.3 反向遍歷.............................................................................................................................81
14.4 類型轉換.............................................................................................................................83
14.5 extend 與append 的區別...............................................................................................83
14.6 列表推導式........................................................................................................................ 84
14.7 插入與刪除.........................................................................................................................87
14.8 常用操作函式.....................................................................................................................89
15 元組.............................................................................................................................................94
15.1 定義方法.............................................................................................................................95
15.2 主要特徵.............................................................................................................................97
15.3 基本用法.............................................................................................................................99
15.4 套用場景.......................................................................................................................... 100
16 字元串...................................................................................................................................... 103
16.1 定義方法.......................................................................................................................... 104
16.2 主要特徵.......................................................................................................................... 105
16.3 字元串的操作.................................................................................................................. 106
17 序列...........................................................................................................................................111
17.1 支持索引.......................................................................................................................... 112
17.2 支持切片.......................................................................................................................... 113
17.3 支持疊代.......................................................................................................................... 114
17.4 支持拆包.......................................................................................................................... 114
17.5 支持*運算........................................................................................................................ 115
17.6 通用函式.......................................................................................................................... 117
18 集合.......................................................................................................................................... 120
18.1 定義方法.......................................................................................................................... 121
18.2 主要特徵.......................................................................................................................... 122
18.3 基本運算.......................................................................................................................... 123
18.4 套用場景.......................................................................................................................... 125
19 字典...........................................................................................................................................126
19.1 定義方法.......................................................................................................................... 127
19.2 字典的主要特徵.............................................................................................................. 128
19.3 字典的套用場景.............................................................................................................. 129
20 函式......................................................................................................................................... 130
20.1 內置函式...........................................................................................................................131
viii
目 錄
20.2 模組函式...........................................................................................................................131
20.3 用戶自定義函式...............................................................................................................132
21 內置函式...................................................................................................................................133
21.1 內置函式的主要特點...................................................................................................... 134
21.2 數學函式.......................................................................................................................... 134
21.3 類型函式.......................................................................................................................... 135
21.4 其他功能函式.................................................................................................................. 136
22 模組函式................................................................................................................................. 141
22.1 import 模組名................................................................................................................ 142
22.2 import 模組名as 別名.................................................................................................. 143
22.3 from 模組名import 函式名......................................................................................... 143
23 自定義函式............................................................................................................................. 145
23.1 定義方法.......................................................................................................................... 147
23.2 函式中的docString....................................................................................................... 148
23.3 調用方法.......................................................................................................................... 148
23.4 返回值.............................................................................................................................. 149
23.5 形參與實參...................................................................................................................... 150
23.6 變數的可見性.................................................................................................................. 152
23.7 值傳遞與地址傳遞.......................................................................................................... 154
23.8 其他注意事項.................................................................................................................. 156
24 lambda 函式............................................................................................................................158
24.1 lambda 函式的定義方法............................................................................................... 159
24.2 lambda 函式的調用方法............................................................................................... 160
第三篇Python 進階
25 疊代器與生成器......................................................................................................................165
25.1 可疊代對象與疊代器...................................................................................................... 166
25.2 生成器與疊代器.............................................................................................................. 167
26 模組..........................................................................................................................................169
26.1 導入與調用用法.............................................................................................................. 170
26.2 查看內置模組清單的方法.............................................................................................. 171
27 包............................................................................................................................................. 174
27.1 相關術語 .......................................................................................................................... 175
27.2 安裝包.............................................................................................................................. 175
ix
27.3 查看已安裝包.................................................................................................................. 176
27.4 更新(或刪除)已安裝包.............................................................................................. 176
27.5 導入包.............................................................................................................................. 177
27.6 查看包的幫助.................................................................................................................. 178
27.7 常用包.............................................................................................................................. 179
28 幫助文檔................................................................................................................................. 180
28.1 help 函式......................................................................................................................... 181
28.2 docString ........................................................................................................................ 181
28.3 查看原始碼...................................................................................................................... 182
28.4 doc 屬性........................................................................................................................... 183
28.5 dir()函式........................................................................................................................... 184
28.6 其他方法.......................................................................................................................... 186
29 異常與錯誤..............................................................................................................................187
29.1 try/except/finally......................................................................................................... 188
29.2 異常信息的顯示模式...................................................................................................... 189
29.3 斷言.................................................................................................................................. 190
30 程式調試方法..........................................................................................................................192
30.1 調試程式的基本方法 ...................................................................................................... 193
30.2 設定錯誤信息的顯示方式.............................................................................................. 194
30.3 設定斷言的方法.............................................................................................................. 195
31 面向對象編程...........................................................................................................................197
31.1 類的定義方法.................................................................................................................. 198
31.2 類中的特殊方法.............................................................................................................. 199
31.3 類之間的繼承關係.......................................................................................................... 201
31.4 私有屬性及@property 裝飾器..................................................................................... 203
31.5 self 和cls ........................................................................................................................ 204
31.6 new 與init 的區別和聯繫............................................................................................. 205
32 魔術命令................................................................................................................................. 208
32.1 運行.py 檔案:%run...................................................................................................... 209
32.2 統計運行時間:%timeit 與%%timeit....................................................................... 210
32.3 查看歷史In 和Out 變數:%history .......................................................................... 211
32.4 更改異常信息的顯示模式:%xmode.......................................................................... 212
32.5 調試程式:%debug....................................................................................................... 214
32.6 程式運行的逐行統計:%prun 與%lprun .................................................................. 215
x
目 錄
32.7 記憶體使用情況的統計:%memit .................................................................................. 216
33 搜尋路徑..................................................................................................................................218
33.1 變數搜尋路徑.................................................................................................................. 219
33.2 模組搜尋路徑.................................................................................................................. 221
34 當前工作目錄..........................................................................................................................224
34.1 顯示當前工作目錄的方法.............................................................................................. 225
34.2 更改當前工作目錄的方法.............................................................................................. 225
34.3 讀/寫當前工作目錄的方法............................................................................................ 226
第四篇數據加工
35 隨機數......................................................................................................................................229
35.1 一次生成一個數.............................................................................................................. 230
35.2 一次生成一個隨機數組.................................................................................................. 231
36 數組..........................................................................................................................................234
36.1 創建方法.......................................................................................................................... 238
36.2 主要特徵.......................................................................................................................... 241
36.3 切片/讀取......................................................................................................................... 243
36.4 淺拷貝和深拷貝.............................................................................................................. 249
36.5 形狀和重構...................................................................................................................... 250
36.6 屬性計算.......................................................................................................................... 254
36.7 ndarray 的計算............................................................................................................... 256
36.8 ndarray 的元素類型....................................................................................................... 258
36.9 插入與刪除...................................................................................................................... 259
36.10 缺失值處理.................................................................................................................... 260
36.11 ndarray 的廣播規則..................................................................................................... 261
36.12 ndarray 的排序............................................................................................................. 262
37 Series ........................................................................................................................................265
37.1 Series 的主要特點.......................................................................................................... 266
37.2 Series 的定義方法.......................................................................................................... 266
37.3 Series 的操作方法.......................................................................................................... 269
38 DataFrame...............................................................................................................................274
38.1 DataFrame 的創建方法................................................................................................. 277
38.2 查看行或列...................................................................................................................... 278
38.3 引用行或列...................................................................................................................... 279
xi
38.4 index 操作...................................................................................................................... 282
38.5 刪除或過濾行/列............................................................................................................ 284
38.6 算術運算.......................................................................................................................... 289
38.7 大小比較運算.................................................................................................................. 295
38.8 統計信息.......................................................................................................................... 296
38.9 排序.................................................................................................................................. 298
38.10 導入/導出...................................................................................................................... 300
38.11 缺失數據處理................................................................................................................ 301
38.12 分組統計........................................................................................................................ 307
39 日期與時間............................................................................................................................. 310
39.1 常用包與模組.................................................................................................................. 311
39.2 時間和日期類型的定義.................................................................................................. 311
39.3 轉換方法.......................................................................................................................... 313
39.4 顯示系統當前時間.......................................................................................................... 315
39.5 計算時差.......................................................................................................................... 316
39.6 時間索引.......................................................................................................................... 316
39.7 period_range()函式....................................................................................................... 319
40 可視化..................................................................................................................................... 320
40.1 Matplotlib 可視化......................................................................................................... 322
40.2 改變圖的屬性.................................................................................................................. 325
40.3 改變圖的類型.................................................................................................................. 328
40.4 改變圖的坐標軸的取值範圍.......................................................................................... 329
40.5 去掉邊界的空白.............................................................................................................. 332
40.6 在同一個坐標上畫兩個圖.............................................................................................. 332
40.7 多圖顯示.......................................................................................................................... 333
40.8 圖的保存.......................................................................................................................... 334
40.9 散點圖的畫法.................................................................................................................. 335
40.10 Pandas 可視化.............................................................................................................. 336
40.11 Seaborn 可視化............................................................................................................ 339
40.12 數據可視化實戰............................................................................................................ 342
41 Web 爬取..................................................................................................................................345
41.1 Scrapy 的下載與安裝.................................................................................................... 348
41.2 Scrapy Shell 的基本原理.............................................................................................. 349
41.3 Scrapy Shell 的套用...................................................................................................... 350
xii
目 錄
41.4 自定義Spider 類............................................................................................................ 352
41.5 綜合運用.......................................................................................................................... 359
第五篇數據分析
42 統計分析..................................................................................................................................367
42.1 業務理解.......................................................................................................................... 369
42.2 數據讀入.......................................................................................................................... 369
42.3 數據理解.......................................................................................................................... 370
42.4 數據準備.......................................................................................................................... 371
42.5 模型類型的選擇與超級參數的設定.............................................................................. 373
42.6 訓練具體模型及查看其統計量...................................................................................... 374
42.7 擬合優度評價.................................................................................................................. 376
42.8 建模前提假定的討論...................................................................................................... 376
42.9 模型的最佳化與重新選擇.................................................................................................. 378
42.10 模型的套用.................................................................................................................... 382
43 機器學習..................................................................................................................................383
43.1 機器學習的業務理解...................................................................................................... 384
43.2 數據讀入.......................................................................................................................... 385
43.3 數據理解.......................................................................................................................... 386
43.4 數據準備.......................................................................................................................... 389
43.5 算法選擇及其超級參數的設定...................................................................................... 392
43.6 具體模型的訓練.............................................................................................................. 393
43.7 用模型進行預測.............................................................................................................. 393
43.8 模型評價.......................................................................................................................... 394
43.9 模型的套用與最佳化.......................................................................................................... 395
44 自然語言處理..........................................................................................................................399
44.1 自然語言處理的常用包.................................................................................................. 400
44.2 自然語言處理的包導入及設定...................................................................................... 400
44.3 數據讀入.......................................................................................................................... 401
44.4 分詞處理.......................................................................................................................... 402
44.5 自定義辭彙...................................................................................................................... 403
44.6 停用詞處理...................................................................................................................... 407
44.7 詞性分布分析.................................................................................................................. 408
44.8 高頻詞分析...................................................................................................................... 411
xiii
44.9 詞頻統計.......................................................................................................................... 412
44.10 關鍵字分析.................................................................................................................... 414
44.11 生成詞雲........................................................................................................................ 415
45 人臉識別與圖像分析............................................................................................................. 418
45.1 安裝並導入opencv-python 包................................................................................. 419
45.2 讀取圖像檔案.................................................................................................................. 419
45.3 將RGB 圖像轉換為灰度圖........................................................................................... 419
45.4 人臉識別與繪製長方形.................................................................................................. 420
45.5 圖像顯示.......................................................................................................................... 421
45.6 圖像保存.......................................................................................................................... 422
第六篇大數據處理
46 Spark 編程...............................................................................................................................425
46.1 導入pyspark 包............................................................................................................. 427
46.2 SparkSession 及其創建................................................................................................ 427
46.3 Spark 數據抽象類型...................................................................................................... 430
46.4 Spark DataFrame 操作................................................................................................. 433
46.5 SQL 編程.......................................................................................................................... 437
46.6 DataFrame 的可視化..................................................................................................... 440
46.7 Spark 機器學習.............................................................................................................. 442
46.7.1 創建Spark Session ............................................................................................ 443
46.7.2 讀入數據................................................................................................................ 443
46.7.3 數據理解................................................................................................................ 444
46.7.4 數據準備................................................................................................................ 444
46.7.5 模型訓練................................................................................................................ 446
46.7.6 模型評價................................................................................................................ 446
46.7.7 預測........................................................................................................................ 447
47 基於Spark 和MongoDB 的大數據分析............................................................................. 449
47.1 數據準備.......................................................................................................................... 450
47.2 數據讀入.......................................................................................................................... 452
47.3 數據理解.......................................................................................................................... 453
47.4 數據準備.......................................................................................................................... 455
47.5 模型訓練.......................................................................................................................... 458
xiv
目 錄
47.6 模型評價.......................................................................................................................... 459
47.7 模型套用.......................................................................................................................... 461
第七篇 繼續學習
48 Python 初學者常見錯誤及糾正方法.....................................................................................465
48.1 NameError: name ‘xxxx‘ is not defined ................................................................. 465
48.2 IndentationError: unexpected indent ..................................................................... 466
48.3 SyntaxError: invalid character in identifier .......................................................... 467
48.4 TypeError: ‘XXXX‘ object does not support item assignment ...................... 468
48.5 TypeError: unsupported operand type(s) for XXXX ......................................... 468
48.6 IndexError: list index out of range ......................................................................... 469
48.7 TypeError: type() takes XXXX arguments ........................................................... 469
48.8 SyntaxError: unexpected EOF while parsing ...................................................... 470
48.9 ModuleNotFoundError: No module named XXXX ............................................ 471
48.10 TypeError: ‘ list‘ object is not callable ................................................................ 472
48.11 SyntaxError: invalid syntax .................................................................................... 473
48.12 AttributeError:XXXX object has no attribute XXXX ..................................... 474
48.13 TypeError: XXXX object is not an iterator......................................................... 475
48.14 FileNotFoundError: File XXXX does not exist................................................. 476
48.15 IndexError: too many indices for array ................................................................ 478
48.16 TypeError: Required argument XXXX not found ............................................ 479
48.17 TypeError: an XXXX is required (got type YYYY) .......................................... 480
48.18 ValueError: Wrong number of items passed XXXX, placement
implies YYYY .............................................................................................................. 481
49 Python 數據分析和數據科學面試題.....................................................................................483
50 繼續學習本書內容的推薦資源............................................................................................. 494
50.1 重要網站.......................................................................................................................... 494
50.2 重要圖書.......................................................................................................................... 494
50.3 常用模組與工具包.......................................................................................................... 495
50.4 常用統計模型.................................................................................................................. 495
50.5 核心機器學習算法.......................................................................................................... 496
50.6 繼續學習數據科學的建議路線圖...................................................................................497
參考文獻.......................................................................................................................................... 501

相關詞條

熱門詞條

聯絡我們