Python數據處理

Python數據處理

《Python數據處理》,[美] 傑奎琳·凱澤爾凱薩琳?賈繆爾編寫,譯者張亮/呂家明,由人民郵電出版社2017-6-1出版。

基本信息

內容簡介······

本書採用基於項目的方法,介紹用Python完成數據獲取、數據清洗、數據探索、數據呈現、數據規模化和自動化的過程。主要內容包括:Python基礎知識,如何從CSV、Excel、XML、JSON和PDF檔案中提取數據,如何獲取與存儲數據,各種數據清洗與分析技術,數據可視化方法,如何從網站和API中提取數據。

前言 xiii

第1章 Python 簡介 1
1.1 為什麼選擇Python 4
1.2 開始使用Python 4
1.2.1 Python 版本選擇 5
1.2.2 安裝Python 6
1.2.3 測試Python 9
1.2.4 安裝pip 11
1.2.5 安裝代碼編輯器 12
1.2.6 安裝IPython(可選) 13
1.3 小結 13
第2章 Python 基礎 14
2.1 基本數據類型 15
2.1.1 字元串 15
2.1.2 整數和浮點數 15
2.2 數據容器 18
2.2.1 變數 18
2.2.2 列表 21
2.2.3 字典 22
2.3 各種數據類型的用途 23
2.3.1 字元串方法:字元串能做什麼 24
2.3.2 數值方法:數字能做什麼 25
2.3.3 列表方法:列表能做什麼 26
2.3.4 字典方法:字典能做什麼 27
2.4 有用的工具:type、dir 和help 28
2.4.1 type 28
2.4.2 dir 28
2.4.3 help 30
2.5 綜合運用 31
2.6 代碼的含義 32
2.7 小結 33
第3章 供機器讀取的數據 34
3.1 CSV 數據 35
3.1.1 如何導入CSV 數據 36
3.1.2 將代碼保存到檔案中並在命令行中運行 39
3.2 JSON 數據 41
3.3 XML 數據 44
3.4 小結 56
第4章 處理Excel 檔案 58
4.1 安裝Python 包 58
4.2 解析Excel 檔案 59
4.3 開始解析 60
4.4 小結 71
第5章 處理PDF 檔案,以及用Python 解決問題 73
5.1 儘量不要用PDF 73
5.2 解析PDF 的編程方法 74
5.2.1 利用slate 庫打開並讀取PDF 75
5.2.2 將PDF 轉換成文本 77
5.3 利用pdfminer 解析PDF 78
5.4 學習解決問題的方法 92
5.4.1 練習:使用表格提取,換用另一個庫 94
5.4.2 練習:手動清洗數據 98
5.4.3 練習:試用另一種工具 98
5.5 不常見的檔案類型 101
5.6 小結 101
第6章 數據獲取與存儲 103
6.1 並非所有數據生而平等 103
6.2 真實性核查 104
6.3 數據可讀性、數據清潔度和數據壽命 105
6.4 尋找數據 105
6.4.1 打電話 105
6.4.2 美國政府數據 106
6.4.3 全球政府和城市開放數據 107
6.4.4 組織數據和非政府組織數據 109
6.4.5 教育數據和大學數據 109
6.4.6 醫學數據和科學數據 109
6.4.7 眾包數據和API 110
6.5 案例研究:數據調查實例 111
6.5.1 伊波拉病毒危機 111
6.5.2 列車安全 111
6.5.3 足球運動員的薪水 112
6.5.4 童工 112
6.6 數據存儲 113
6.7 資料庫簡介 113
6.7.1 關係型資料庫:MySQL 和PostgreSQL 114
6.7.2 非關係型資料庫:NoSQL 116
6.7.3 用Python 創建本地資料庫 117
6.8 使用簡單檔案 118
6.8.1 雲存儲和Python 118
6.8.2 本地存儲和Python 119
6.9 其他數據存儲方式 119
6.10 小結 119
第7章 數據清洗:研究、匹配與格式化 121
7.1 為什麼要清洗數據 121
7.2 數據清洗基礎知識 122
7.2.1 找出需要清洗的數據 123
7.2.2 數據格式化 131
7.2.3 找出離群值和不良數據 135
7.2.4 找出重複值 140
7.2.5 模糊匹配 143
7.2.6 正則表達式匹配 146
7.2.7 如何處理重複記錄 150
7.3 小結 151
第8章 數據清洗:標準化和腳本化 153
8.1 數據歸一化和標準化 153
8.2 數據存儲 154
8.3 找到適合項目的數據清洗方法 156
8.4 數據清洗腳本化 157
8.5 用新數據測試 170
8.6 小結 172
第9章 數據探索和分析 173
9.1 探索數據 173
9.1.1 導入數據 174
9.1.2 探索表函式 179
9.1.3 聯結多個數據集 182
9.1.4 識別相關性 186
9.1.5 找出離群值 187
9.1.6 創建分組 189
9.1.7 深入探索 192
9.2 分析數據 193
9.2.1 分離和聚焦數據 194
9.2.2 你的數據在講什麼 196
9.2.3 描述結論 196
9.2.4 將結論寫成文檔 197
9.3 小結 197
第10章 展示數據 199
10.1 避免講故事陷阱 199
10.1.1 怎樣講故事 200
10.1.2 了解聽眾 200
10.2 可視化數據 201
10.2.1 圖表 201
10.2.2 時間相關數據 207
10.2.3 地圖 208
10.2.4 互動式元素 211
10.2.5 文字 212
10.2.6 圖片、視頻和插畫 212
10.3 展示工具 213
10.4 發布數據 213
10.4.1 使用可用站點 213
10.4.2 開源平台:創建一個新網站 215
10.4.3 Jupyter(曾名IPython notebook) 216
10.5 小結 219
第11章 網頁抓取:獲取並存儲網路數據 221
11.1 抓取什麼和如何抓取 221
11.2 分析網頁 223
11.2.1 檢視:標記結構 224
11.2.2 網路/ 時間線:頁面是如何載入的 230
11.2.3 控制台:同JavaScript 互動 232
11.2.4 頁面的深入分析 236
11.3 得到頁面:如何通過網際網路發出請求 237
11.4 使用Beautiful Soup 讀取網頁 238
11.5 使用lxml 讀取網頁 241
11.6 小結 249
第12章 高級網頁抓取:螢幕抓取器與爬蟲 251
12.1 基於瀏覽器的解析 251
12.1.1 使用Selenium 進行螢幕讀取 252
12.1.2 使用Ghost.py 進行螢幕讀取 260
12.2 爬取網頁 266
12.2.1 使用Scrapy 創建一個爬蟲 266
12.2.2 使用Scrapy 爬取整個網站 273
12.3 網路:網際網路的工作原理,以及為什麼它會讓腳本崩潰 281
12.4 變化的網際網路(或腳本為什麼崩潰) 283
12.5 幾句忠告 284
12.6 小結 284
第13章 套用編程接口 286
13.1 API 特性 287
13.1.1 REST API 與流式API 287
13.1.2 頻率限制 287
13.1.3 分級數據卷 288
13.1.4 API key 和token 289
13.2 一次簡單的Twitter REST API 數據拉取 290
13.3 使用Twitter REST API 進行高級數據收集 292
13.4 使用Twitter 流式API 進行高級數據收集 295
13.5 小結 297
第14章 自動化和規模化 298
14.1 為什麼要自動化 298
14.2 自動化步驟 299
14.3 什麼會出錯 301
14.4 在哪裡自動化 302
14.5 自動化的特殊工具 303
14.5.1 使用本地檔案、參數及配置檔案 303
14.5.2 在數據處理中使用雲 308
14.5.3 使用並行處理 310
14.5.4 使用分散式處理 312
14.6 簡單的自動化 313
14.6.1 CronJobs 314
14.6.2 Web 接口 316
14.6.3 Jupyter notebook 316
14.7 大規模自動化 317
14.7.1 Celery:基於佇列的自動化 317
14.7.2 Ansible:操作自動化 318
14.8 監控自動化程式 319
14.8.1 Python 日誌 320
14.8.2 添加自動化信息 322
14.8.3 上傳和其他報告 326
14.8.4 日誌和監控服務 327
14.9 沒有萬無一失的系統 328
14.10 小結 328
第15章 結論 330
15.1 數據處理者的職責 330
15.2 數據處理之上 331
15.2.1 成為一名更優秀的數據分析師 331
15.2.2 成為一名更優秀的開發者 331
15.2.3 成為一名更優秀的視覺化講故事者 332
15.2.4 成為一名更優秀的系統架構師 332
15.3 下一步做什麼 332
附錄A 程式語言對比 334
附錄B 初學者的Python 學習資源 336
附錄C 學習命令行 338
附錄D 高級Python 設定 349
附錄E Python 陷阱 361
附錄F IPython 指南 370
附錄G 使用亞馬遜網路服務 374
關於作者 378
關於封面 378

相關詞條

相關搜尋

熱門詞條

聯絡我們