內容簡介
通過本書,你將學習:
·538個案例研究,471個習題和項目,557道自檢習題。
·基於IPython和Jupyter Notebook的即時反饋。
·問題求宙趨放埋解、算法開發、控制語句、函式等基礎知識。
·列表、元組、字典、集合、Numpy數組、pandas Series和DataFrame。
·2D/3D的靜態、動態和互動式可視化。
·字元串、文本檔案、JSON序列化、CSV、異常。
·過程式、函式式和面向對象的程式設計方法。
·“數據科學入門”:基礎統計、模擬、動畫、隨機變數、數據整理、回歸。
·隱私虹嘗碑、安全、倫理、可重現、透明。
·AI、大數據和雲數據科學案例研究:NLP、Twitter數據挖掘、IBM Watson、機器學習、深度學習、計算機視覺、Hadoop、Spark、NoSQL、IoT。
·開源庫:NumPy、pandas、Matplotlib、Seaborn、Folium、SciPy、NLTK、TextBlob、 spaCy、Textatistic、Tweepy、Scikit-learn、Keras、PubNub等。
目錄
第1章 計算機和Python簡介 1
1.1 引言 2
1.2 硬體和軟體 3
1.3 數據層級 6
1.4 機器語言、彙編語言和高級語言 9
1.5 對象技術簡介 10
1.6 作業系統 13
1.7 Python簡介 16
1.8 (語言)庫 18
1.9 其他常見程式語言 20
1.10 試用:使用IPython和Jupyter Notebook 21
1.11 Internet和WWW 29
1.12 軟體技術 32
1.13 大數據 33
1.14 數據科學入門:大數據移動套用案例研究 40
第2章 Python程式設計簡介 49
2.1 引言 50
2.2 變數和賦值語句戒判籃 50
2.3 算術操作 52
2.4 print函式、單引號字元串和雙引號字元串 56
2.5 三引號字元串 58
2.6 從用戶處獲得輸入 59
2.7 判斷:if語句與比較操作 61
2.8 對象和動全催態類型 66
2.9 數據科學入門:基本統計功能 68
2.10 小結 70
第3章 控制語句和程式設計 73
3.1 引言 74
3.2 算法 74
3.3 偽代碼 75
3.4 控制語句 75
3.5 if語句 78
3.6 if...else和if...elif...else語句 80
3.7 while語句 85
3.8 for語句 86
3.9 增量賦值 89
3.10 程式設計:通過序列控制重複 90
3.11 程式設計:通過哨兵控制重複 93
3.12 程式設計:嵌套控制結構 97
3.13 內置函式range:進一步討論 101
3.14 使用Decimal類型表達貨幣總量 102
3.15 break和continue語句 105
3.16 布爾操作and、or和not 106
3.17 數據科學入門:趨勢的度量—均值、中值、眾嫌船贈數 109
3.18 小結 111
第4章 函式 119
4.1 引言 120
4.2 函式的定義 120
4.3 多參數函式 123
4.4 隨機數生成器 125
4.5 案例研究:機會遊戲 128
4.6 Python標準庫 131
4.7 math模組函式 132
4.8 使用IPython的tab補全功能 133
4.9 缺促斷戲省形參值 135
4.10 關鍵字實參 136
4.11 任意實參表 136
4.12 方法:歸屬於對象的函式 138
4.13 作用域規則 138
4.14 import:進一步討論 140
4.15 給函式傳遞實參:進一步討論 142
4.16 函式調用棧 145
4.17 函式式程式設計 146
4.18 數據科學入門:數據分布的度量 148
4.19 小結 150
第5章 序列:列表和元組 155
5.1 引言 156
5.2 列表 156
5.3 元組 161
5.4 序列拆包 163
5.5 序列切片 166
5.6 del語句 169
5.7 給函式傳遞列表 171
5.8 排序列表再檔背兆 172
5.9 搜尋序列 174
5.10 其他列表方法 176
5.11 用列表模擬棧 178
5.12 列表解析 179
5.13 生成器表達式 181
5.14 過濾器、映射和約簡 182
5.15 其他序列處理函式 185
5.16 二維列表 187
5.17 數據科學入門:模擬和靜態可視化 191
5.18 小結 199
第6章 字典和集合 209
6.1 引言 210
6.2 字典 210
6.3 集合 221
6.4 數據科學入門:動態可視化 228
6.5 小結 234
第7章 使用NumPy進行面向數組的編程 239
7.1 引言 240
7.2 從已有數據中創建數組 241
7.3 數組屬性 242
7.4 用特定值填充數組 244
7.5 使用range創建數組 244
7.6 列表與數組的性能比較:%timeit簡介 246
7.7 數組操作 248
7.8 NumPy計算方法 250
7.9 全局函式 252
7.10 索引和切片 254
7.11 視圖:淺拷貝 256
7.12 深拷貝 258
7.13 轉換和轉置 259
7.14 數據科學入門:pandas Series和DataFrame 262
7.15 小結 275
第8章 字元串:進一步討論 283
8.1 引言 284
8.2 格式化字元串 285
8.3 字元串拼接和重複 289
8.4 字元串空白符剝離 290
8.5 改變字元的大小寫 291
8.6 字元串比較操作 292
8.7 子串搜尋 292
8.8 子串替換 294
8.9 字元串切分和合併 294
8.10 字元和字元測試方法 297
8.11 原生字元串 298
8.12 正則表達式簡介 299
8.13 數據科學入門:pandas、正則表達式和數據治理 307
8.14 小結 312
第9章 檔案和異常 319
9.1 引言 320
9.2 檔案 321
9.3 文本檔案處理 321
9.4 更新文本檔案 325
9.5 JSON序列化 327
9.6 安全問題:pickle序列化和反序列化 330
9.7 關於檔案的其他說明 330
9.8 異常處理 331
9.9 finally子句 336
9.10 顯式引發異常 339
9.11 (可選)棧展開和回溯 339
9.12 數據科學入門:CSV檔案的處理 342
9.13 小結 349
第10章 面向對象程式設計 355
10.1 引言 356
10.2 定製類Account 358
10.3 屬性的受控訪問 363
10.4 數據訪問的特性 364
10.5 私有屬性模擬 371
10.6 案例研究:洗牌和切牌 373
10.7 繼承:基類和子類 382
10.8 構建繼承層次和多態簡介 384
10.9 鴨子類型和多態 392
10.10 操作符重載 393
10.11 異常類層次和定製異常處理 397
10.12 有名元組 399
10.13 Python 3.7新數據類簡介 400
10.14 使用文檔字元串和doctest進行單元測試 406
10.15 命名空間和作用域 411
10.16 數據科學入門:時間序列和簡單線性回歸 414
10.17 小結 423
第11章 計算機科學思維:遞歸、搜尋、排序和大O表示法 431
第12章 自然語言處理 477
第13章 Twitter數據挖掘 515
第14章 IBM Watson和認知計算 565
第15章 機器學習:分類、回歸和聚類 593
第16章 深度學習 665
第17章 大數據:Hadoop、Spark、NoSQL和IoT 723
3.8 for語句 86
3.9 增量賦值 89
3.10 程式設計:通過序列控制重複 90
3.11 程式設計:通過哨兵控制重複 93
3.12 程式設計:嵌套控制結構 97
3.13 內置函式range:進一步討論 101
3.14 使用Decimal類型表達貨幣總量 102
3.15 break和continue語句 105
3.16 布爾操作and、or和not 106
3.17 數據科學入門:趨勢的度量—均值、中值、眾數 109
3.18 小結 111
第4章 函式 119
4.1 引言 120
4.2 函式的定義 120
4.3 多參數函式 123
4.4 隨機數生成器 125
4.5 案例研究:機會遊戲 128
4.6 Python標準庫 131
4.7 math模組函式 132
4.8 使用IPython的tab補全功能 133
4.9 預設形參值 135
4.10 關鍵字實參 136
4.11 任意實參表 136
4.12 方法:歸屬於對象的函式 138
4.13 作用域規則 138
4.14 import:進一步討論 140
4.15 給函式傳遞實參:進一步討論 142
4.16 函式調用棧 145
4.17 函式式程式設計 146
4.18 數據科學入門:數據分布的度量 148
4.19 小結 150
第5章 序列:列表和元組 155
5.1 引言 156
5.2 列表 156
5.3 元組 161
5.4 序列拆包 163
5.5 序列切片 166
5.6 del語句 169
5.7 給函式傳遞列表 171
5.8 排序列表 172
5.9 搜尋序列 174
5.10 其他列表方法 176
5.11 用列表模擬棧 178
5.12 列表解析 179
5.13 生成器表達式 181
5.14 過濾器、映射和約簡 182
5.15 其他序列處理函式 185
5.16 二維列表 187
5.17 數據科學入門:模擬和靜態可視化 191
5.18 小結 199
第6章 字典和集合 209
6.1 引言 210
6.2 字典 210
6.3 集合 221
6.4 數據科學入門:動態可視化 228
6.5 小結 234
第7章 使用NumPy進行面向數組的編程 239
7.1 引言 240
7.2 從已有數據中創建數組 241
7.3 數組屬性 242
7.4 用特定值填充數組 244
7.5 使用range創建數組 244
7.6 列表與數組的性能比較:%timeit簡介 246
7.7 數組操作 248
7.8 NumPy計算方法 250
7.9 全局函式 252
7.10 索引和切片 254
7.11 視圖:淺拷貝 256
7.12 深拷貝 258
7.13 轉換和轉置 259
7.14 數據科學入門:pandas Series和DataFrame 262
7.15 小結 275
第8章 字元串:進一步討論 283
8.1 引言 284
8.2 格式化字元串 285
8.3 字元串拼接和重複 289
8.4 字元串空白符剝離 290
8.5 改變字元的大小寫 291
8.6 字元串比較操作 292
8.7 子串搜尋 292
8.8 子串替換 294
8.9 字元串切分和合併 294
8.10 字元和字元測試方法 297
8.11 原生字元串 298
8.12 正則表達式簡介 299
8.13 數據科學入門:pandas、正則表達式和數據治理 307
8.14 小結 312
第9章 檔案和異常 319
9.1 引言 320
9.2 檔案 321
9.3 文本檔案處理 321
9.4 更新文本檔案 325
9.5 JSON序列化 327
9.6 安全問題:pickle序列化和反序列化 330
9.7 關於檔案的其他說明 330
9.8 異常處理 331
9.9 finally子句 336
9.10 顯式引發異常 339
9.11 (可選)棧展開和回溯 339
9.12 數據科學入門:CSV檔案的處理 342
9.13 小結 349
第10章 面向對象程式設計 355
10.1 引言 356
10.2 定製類Account 358
10.3 屬性的受控訪問 363
10.4 數據訪問的特性 364
10.5 私有屬性模擬 371
10.6 案例研究:洗牌和切牌 373
10.7 繼承:基類和子類 382
10.8 構建繼承層次和多態簡介 384
10.9 鴨子類型和多態 392
10.10 操作符重載 393
10.11 異常類層次和定製異常處理 397
10.12 有名元組 399
10.13 Python 3.7新數據類簡介 400
10.14 使用文檔字元串和doctest進行單元測試 406
10.15 命名空間和作用域 411
10.16 數據科學入門:時間序列和簡單線性回歸 414
10.17 小結 423
第11章 計算機科學思維:遞歸、搜尋、排序和大O表示法 431
第12章 自然語言處理 477
第13章 Twitter數據挖掘 515
第14章 IBM Watson和認知計算 565
第15章 機器學習:分類、回歸和聚類 593
第16章 深度學習 665
第17章 大數據:Hadoop、Spark、NoSQL和IoT 723