內容簡介

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

Jacqueline Kazil,數據科學家,資深軟件開發者。活躍於Python軟件基金會、PyLadies等社區。曾參與美國總統創新伙伴項目,是美國政府技術組織18F的聯合創始人。曾擔任《華盛頓郵報》數據記者。

Katharine Jarmul,資深Python開發者,Py Ladies聯合創始人。喜歡數據分析和獲取、網頁抓取、教人學習Python以及Unix,期望通過教育和培訓來促進Python和其他開源語言的多元化。
 

目錄

前言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(曾名IPythonnotebook) 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 使用BeautifulSoup讀取網頁 238
11.5 使用lxml讀取網頁 241
11.6 小結 249
……
第12 章高級網頁抓取:屏幕抓取器與爬蟲 251
第13 章應用編程接口 286
第14 章自動化和規模化 298
第15 章結論 330
附錄A 編程語言對比 334
附錄B 初學者的Python學習資源 336
附錄C 學習命令行 338
附錄D 高級Python設置 349
附錄E Python陷阱 361
附錄F IPython指南 370
附錄G 使用亞馬遜網絡服務 374
關於作者 378
關於封面 378
網路書店 類別 折扣 價格
  1. 新書
    87
    $517