Python 數據清洗 Python Data Cleaning Cookbook: Modern techniques and Python tools to detect and remove dirty data and extract key insights

Michael Walker 譯 劉亮

  • Python 數據清洗-preview-1
  • Python 數據清洗-preview-2
  • Python 數據清洗-preview-3
Python 數據清洗-preview-1

買這商品的人也買了...

商品描述

《Python數據清洗》詳細闡述了與Python數據清洗相關的基本解決方案,主要包括將表格數據導入Pandas中、將HTML和JSON導入Pandas中、衡量數據好壞、識別缺失值和離群值、使用可視化方法識別意外值、使用Series操作清洗和探索數據、聚合時修復混亂數據、組合DataFrame、規整和重塑數據、用戶定義的函數和類等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。

目錄大綱

目錄

第1章 將表格數據導入Pandas中 1

1.1 技術要求 1

1.2 導入CSV文件 2

1.2.1 準備工作 2

1.2.2 實戰操作 3

1.2.3 原理解釋 5

1.2.4 擴展知識 6

1.2.5 參考資料 7

1.3 導入Excel文件 7

1.3.1 準備工作 8

1.3.2 實戰操作 8

1.3.3 原理解釋 13

1.3.4 擴展知識 13

1.3.5 參考資料 14

1.4 從SQL數據庫中導入數據 14

1.4.1 準備工作 15

1.4.2 實戰操作 15

1.4.3 原理解釋 19

1.4.4 擴展知識 21

1.4.5 參考資料 21

1.5 導入SPSS、Stata和SAS數據 21

1.5.1 準備工作 22

1.5.2 實戰操作 22

1.5.3 原理解釋 28

1.5.4 擴展知識 29

1.5.5 參考資料 30

1.6 導入R數據 30

1.6.1 準備工作 30

1.6.2 實戰操作 31

1.6.3 原理解釋 33

1.6.4 擴展知識 34

1.6.5 參考資料 34

1.7 保留表格數據 35

1.7.1 準備工作 36

1.7.2 實戰操作 36

1.7.3 原理解釋 39

1.7.4 擴展知識 39

第2章 將HTML和JSON導入Pandas中 41

2.1 技術要求 41

2.2 導入簡單的JSON數據 41

2.2.1 準備工作 42

2.2.2 實戰操作 42

2.2.3 原理解釋 47

2.2.4 擴展知識 48

2.3 通過API導入更復雜的JSON數據 48

2.3.1 準備工作 49

2.3.2 實戰操作 50

2.3.3 原理解釋 52

2.3.4 擴展知識 53

2.3.5 參考資料 53

2.4 從網頁中導入數據 53

2.4.1 準備工作 54

2.4.2 實戰操作 55

2.4.3 原理解釋 58

2.4.4 擴展知識 59

2.5 持久保存JSON數據 59

2.5.1 準備工作 60

2.5.2 實戰操作 60

2.5.3 原理解釋 62

2.5.4 擴展知識 63

第3章 衡量數據好壞 65

3.1 技術要求 66

3.2 初步瞭解數據 66

3.2.1 準備工作 66

3.2.2 實戰操作 67

3.2.3 原理解釋 70

3.2.4 擴展知識 71

3.2.5 參考資料 71

3.3 選擇和組織列 71

3.3.1 準備工作 72

3.3.2 實戰操作 72

3.3.3 原理解釋 77

3.3.4 擴展知識 77

3.3.5 參考資料 78

3.4 選擇行 79

3.4.1 準備工作 79

3.4.2 實戰操作 79

3.4.3 原理解釋 86

3.4.4 擴展知識 87

3.4.5 參考資料 87

3.5 生成分類變量的頻率 87

3.5.1 準備工作 88

3.5.2 實戰操作 88

3.5.3 原理解釋 91

3.5.4 擴展知識 92

3.6 生成連續變量的摘要統計信息 92

3.6.1 準備工作 92

3.6.2 實戰操作 93

3.6.3 原理解釋 95

3.6.4 參考資料 96

第4章 識別缺失值和離群值 97

4.1 技術要求 97

4.2 尋找缺失值 97

4.2.1 準備工作 98

4.2.2 實戰操作 98

4.2.3 原理解釋 101

4.2.4 參考資料 101

4.3 用一個變量識別離群值 102

4.3.1 準備工作 102

4.3.2 實戰操作 102

4.3.3 原理解釋 109

4.3.4 擴展知識 109

4.3.5 參考資料 110

4.4 識別雙變量關系中的離群值和意外值 110

4.4.1 準備工作 111

4.4.2 實戰操作 112

4.4.3 原理解釋 118

4.4.4 擴展知識 119

4.4.5 參考資料 119

4.5 檢查變量關系中的邏輯不一致情況 119

4.5.1 準備工作 119

4.5.2 實戰操作 120

4.5.3 原理解釋 126

4.5.4 參考資料 126

4.6 使用線性回歸來確定具有重大影響的數據點 126

4.6.1 準備工作 127

4.6.2 實戰操作 127

4.6.3 原理解釋 129

4.6.4 擴展知識 130

4.7 使用k最近鄰算法找到離群值 130

4.7.1 準備工作 130

4.7.2 實戰操作 131

4.7.3 原理解釋 133

4.7.4 擴展知識 133

4.7.5 參考資料 134

4.8 使用隔離森林算法查找異常 134

4.8.1 準備工作 134

4.8.2 實戰操作 134

4.8.3 原理解釋 137

4.8.4 擴展知識 138

4.8.5 參考資料 138

第5章 使用可視化方法識別意外值 139

5.1 技術要求 139

5.2 使用直方圖檢查連續變量的分佈 140

5.2.1 準備工作 140

5.2.2 實戰操作 141

5.2.3 原理解釋 146

5.2.4 擴展知識 147

5.3 使用箱形圖識別連續變量的離群值 147

5.3.1 準備工作 148

5.3.2 實戰操作 148

5.3.3 原理解釋 153

5.3.4 擴展知識 153

5.3.5 參考資料 153

5.4 使用分組的箱形圖發現特定組中的意外值 154

5.4.1 準備工作 154

5.4.2 實戰操作 154

5.4.3 原理解釋 159

5.4.4 擴展知識 159

5.4.5 參考資料 160

5.5 使用小提琴圖檢查分佈形狀和離群值 160

5.5.1 準備工作 160

5.5.2 實戰操作 161

5.5.3 原理解釋 165

5.5.4 擴展知識 166

5.5.5 參考資料 166

5.6 使用散點圖查看雙變量關系 166

5.6.1 準備工作 167

5.6.2 實戰操作 167

5.6.3 原理解釋 172

5.6.4 擴展知識 173

5.6.5 參考資料 173

5.7 使用折線圖檢查連續變量的趨勢 173

5.7.1 準備工作 173

5.7.2 實戰操作 173

5.7.3 原理解釋 178

5.7.4 擴展知識 179

5.7.5 參考資料 179

5.8 根據相關性矩陣生成熱圖 179

5.8.1 準備工作 180

5.8.2 實戰操作 180

5.8.3 原理解釋 182

5.8.4 擴展知識 183

5.8.5 參考資料 183

第6章 使用Series操作清洗和探索數據 185

6.1 技術要求 186

6.2 從Pandas Series中獲取值 186

6.2.1 準備工作 186

6.2.2 實戰操作 187

6.2.3 原理解釋 190

6.3 顯示Pandas Series的摘要統計信息 190

6.3.1 準備工作 191

6.3.2 實戰操作 191

6.3.3 原理解釋 193

6.3.4 擴展知識 195

6.3.5 參考資料 195

6.4 更改Series值 195

6.4.1 準備工作 195

6.4.2 實戰操作 195

6.4.3 原理解釋 198

6.4.4 擴展知識 199

6.4.5 參考資料 199

6.5 有條件地更改Series值 199

6.5.1 準備工作 199

6.5.2 實戰操作 200

6.5.3 原理解釋 203

6.5.4 擴展知識 205

6.5.5 參考資料 206

6.6 評估和清洗字符串Series數據 206

6.6.1 準備工作 206

6.6.2 實戰操作 206

6.6.3 原理解釋 210

6.6.4 擴展知識 211

6.7 處理日期 211

6.7.1 準備工作 211

6.7.2 實戰操作 212

6.7.3 原理解釋 216

6.7.4 參考資料 217

6.8 識別和清洗缺失的數據 217

6.8.1 準備工作 217

6.8.2 實戰操作 217

6.8.3 原理解釋 221

6.8.4 擴展知識 221

6.8.5 參考資料 221

6.9 使用k最近鄰算法填充缺失值 222

6.9.1 準備工作 222

6.9.2 實戰操作 222

6.9.3 原理解釋 223

6.9.4 擴展知識 224

6.9.5 參考資料 224

第7章 聚合時修復混亂數據 225

7.1 技術要求 226

7.2 使用itertuples遍歷數據 226

7.2.1 準備工作 226

7.2.2 實戰操作 227

7.2.3 原理解釋 229

7.2.4 擴展知識 230

7.3 使用NumPy數組按組計算匯總 231

7.3.1 準備工作 231

7.3.2 實戰操作 231

7.3.3 原理解釋 233

7.3.4 擴展知識 234

7.3.5 參考資料 234

7.4 使用groupby組織數據 234

7.4.1 準備工作 234

7.4.2 實戰操作 234

7.4.3 原理解釋 237

7.4.4 擴展知識 237

7.5 通過groupby使用更復雜的聚合函數 237

7.5.1 準備工作 238

7.5.2 實戰操作 238

7.5.3 原理解釋 242

7.5.4 擴展知識 243

7.5.5 參考資料 244

7.6 結合groupby使用用戶定義的函數 244

7.6.1 準備工作 244

7.6.2 實戰操作 244

7.6.3 原理解釋 247

7.6.4 擴展知識 247

7.6.5 參考資料 248

7.7 使用groupby更改DataFrame的分析單位 248

7.7.1 準備工作 249

7.7.2 實戰操作 249

7.7.3 原理解釋 250

第8章 組合DataFrame 251

8.1 技術要求 252

8.2 垂直組合DataFrame 252

8.2.1 準備工作 252

8.2.2 實戰操作 253

8.2.3 原理解釋 256

8.2.4 參考資料 256

8.3 進行一對一合並 256

8.3.1 準備工作 258

8.3.2 實戰操作 258

8.3.3 原理解釋 262

8.3.4 擴展知識 263

8.4 按多列進行一對一合並 263

8.4.1 準備工作 263

8.4.2 實戰操作 263

8.4.3 原理解釋 266

8.4.4 擴展知識 266

8.5 進行一對多合並 266

8.5.1 準備工作 267

8.5.2 實戰操作 267

8.5.3 原理解釋 271

8.5.4 擴展知識 271

8.5.5 參考資料 271

8.6 進行多對多合並 271

8.6.1 準備工作 272

8.6.2 實戰操作 272

8.6.3 原理解釋 276

8.6.4 擴展知識 277

8.7 開發合並例程 277

8.7.1 準備工作 277

8.7.2 實戰操作 278

8.7.3 原理解釋 279

8.7.4 參考資料 280

第9章 規整和重塑數據 281

9.1 技術要求 282

9.2 刪除重復的行 282

9.2.1 準備工作 282

9.2.2 實戰操作 283

9.2.3 原理解釋 285

9.2.4 擴展知識 286

9.2.5 參考資料 286

9.3 修復多對多關系 286

9.3.1 準備工作 287

9.3.2 實戰操作 287

9.3.3 原理解釋 291

9.3.4 擴展知識 292

9.3.5 參考資料 292

9.4 使用stack和melt將數據由寬變長 292

9.4.1 準備工作 293

9.4.2 實戰操作 293

9.4.3 原理解釋 297

9.5 使用wide_to_long處理多列 297

9.5.1 準備工作 297

9.5.2 實戰操作 297

9.5.3 原理解釋 299

9.5.4 擴展知識 299

9.6 使用unstack和pivot將數據由長變寬 300

9.6.1 準備工作 300

9.6.2 實戰操作 300

9.6.3 原理解釋 302

第10章 用戶定義的函數和類 303

10.1 技術要求 303

10.2 用於查看數據的函數 303

10.2.1 準備工作 304

10.2.2 實戰操作 304

10.2.3 原理解釋 307

10.2.4 擴展知識 308

10.3 用於顯示摘要統計信息和頻率的函數 308

10.3.1 準備工作 308

10.3.2 實戰操作 309

10.3.3 原理解釋 313

10.3.4 擴展知識 313

10.3.5 參考資料 313

10.4 識別離群值和意外值的函數 314

10.4.1 準備工作 314

10.4.2 實戰操作 315

10.4.3 原理解釋 319

10.4.4 擴展知識 319

10.4.5 參考資料 319

10.5 聚合或合並數據的函數 319

10.5.1 準備工作 320

10.5.2 實戰操作 320

10.5.3 原理解釋 325

10.5.4 擴展知識 325

10.5.5 參考資料 326

10.6 包含更新Series值邏輯的類 326

10.6.1 準備工作 326

10.6.2 實戰操作 326

10.6.3 原理解釋 330

10.6.4 擴展知識 331

10.6.5 參考資料 331

10.7 處理非表格數據結構的類 331

10.7.1 準備工作 332

10.7.2 實戰操作 333

10.7.3 原理解釋 336

10.7.4 擴展知識 336