深入淺出 Pandas:利用 Python 進行數據處理與分析

李慶輝 著

  • 出版商: 機械工業
  • 出版日期: 2021-07-01
  • 定價: $594
  • 售價: 8.5$505
  • 語言: 簡體中文
  • 頁數: 428
  • 裝訂: 平裝
  • ISBN: 7111685458
  • ISBN-13: 9787111685456
  • 相關分類: Python
  • 立即出貨

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

商品描述

如果你想充分發揮Python的強大作用,如果你想成為一名優秀的Python工程師,你應該先學好Pandas。
這是一本全面覆蓋了Pandas使用者的普遍需求和痛點的著作,基於實用、易學的原則,從功能、使用、原理等多個維度對Pandas做了全方位的詳細講解,既是初學者系統學習Pandas難得的入門書,又是有經驗的Python工程師案頭必不可少的查詢手冊。

本書共17章,分為七部分。
第1部分(第1~2章) Pandas入門
首先介紹了Pandas的功能、使用場景和學習方法,然後詳細講解了Python開發環境的搭建,最後介紹了Pandas的大量基礎功能,旨在引領讀者快速入門。
第二部分(第3~5章) Pandas數據分析基礎
詳細講解了Pandas讀取與輸出數據、索引操作、數據類型轉換、查詢篩選、統計計算、排序、位移、數據修改、數據迭代、函數應用等內容。
第三部分(第6~9章) 數據形式變化
講解了Pandas的分組聚合操作、合並操作、對比操作、數據透視、轉置、歸一化、標準化等,以及如何利用多層索引對數據進行升降維。
第四部分(第10~12章) 數據清洗
講解了缺失值和重復值的識別、刪除、填充,數據的替換、格式轉換,文本的提取、連接、匹配、切分、替換、格式化、虛擬變量化等,以及分類數據的應用場景和操作方法。
第五部分(第13~14章)時序數據分析
講解了Pandas中對於各種時間類型數據的處理和分析,以及在時序數據處理中經常使用的窗口計算。
第六部分(第15~16章) 可視化
講解了Pandas的樣式功能如何讓數據表格更有表現力,以及Pandas的繪圖功能如何讓數據自己說話。
第七部分(第17章) 實戰案例
介紹了從需求到代碼的思考過程,如何利用鏈式編程思想提高代碼編寫和數據分析效率,以及數據分析的基本方法與需要掌握的數據分析工具和技術棧,此外還從數據處理和數據分析兩個角度給出了大量的應用案例及代碼詳解。

作者簡介

李慶輝
數據產品專家,某電商公司數據產品團隊負責人,擅長通過數據治理、數據分析、數據化運營提升公司的數據應用水平。
精通Python數據科學及Python Web開發,曾獨立開發公司的自動化數據分析平台,參與教育部“1+X”數據分析(Python)職業技能等級標準評審。
中國人工智能學會會員,企業數字化、數據產品和數據分析講師,在個人網站“蓋若”上編寫的技術和產品教程廣受歡迎。

目錄大綱

前言
第一部分 Pandas入門
第1章 Pandas簡介及快速入門2
1.1 Pandas是什麽2
1.1.1 Python簡介2
1.1.2 Python的應用3
1.1.3 為什麽不選擇R4
1.1.4 Pandas簡介4
1.1.5 Pandas的使用人群5
1.1.6 Pandas的基本功能5
1.1.7 Pandas的學習方法6
1.1.8 小結6
1.2 環境搭建及安裝6
1.2.1 Python環境安裝7
1.2.2 Anaconda簡介7
1.2.3 安裝miniconda8
1.2.4 多Python版本環境9
1.2.5 安裝編輯器10
1.2.6 Jupyter Notebook10
1.2.7 用pip安裝三方庫11
1.2.8 安裝Jupyter Notebook12
1.2.9 啟動Jupyter Notebook12
1.2.10 使用Jupyter Notebook13
1.2.11 安裝Pandas14
1.2.12 小結14
1.3 Pandas快速入門14
1.3.1 安裝導入14
1.3.2 準備數據集15
1.3.3 讀取數據15
1.3.4 查看數據16
1.3.5 驗證數據17
1.3.6 建立索引17
1.3.7 數據選取18
1.3.8 排序19
1.3.9 分組聚合19
1.3.10 數據轉換20
1.3.11 增加列21
1.3.12 統計分析21
1.3.13 繪圖21
1.3.14 導出24
1.3.15 小結24
1.4 本章小結24
第2章 數據結構25
2.1 數據結構概述25
2.1.1 什麽是數據25
2.1.2 什麽是數據結構26
2.1.3 小結26
2.2 Python的數據結構26
2.2.1 數字27
2.2.2 字符串27
2.2.3 布爾型28
2.2.4 列表29
2.2.5 元組30
2.2.6 字典30
2.2.7 集合31
2.2.8 小結32
2.3 NumPy32
2.3.1 NumPy簡介33
2.3.2 數據結構33
2.3.3 創建數據34
2.3.4 數據類型34
2.3.5 數組信息35
2.3.6 統計計算35
2.3.7 小結35
2.4 Pandas的數據結構35
2.4.1 Series36
2.4.2 DataFrame36
2.4.3 索引37
2.4.4 小結38
2.5 Pandas生成數據38
2.5.1 導入Pandas38
2.5.2 創建數據38
2.5.3 生成Series40
2.5.4 生成DataFrame41
2.5.5 小結43
2.6 Pandas的數據類型43
2.6.1 數據類型查看43
2.6.2 常見數據類型44
2.6.3 數據檢測44
2.6.4 小結45
2.7 本章小結45
第二部分 Pandas數據分析基礎
第3章 Pandas數據讀取與輸出48
3.1 數據讀取48
3.1.1 CSV文件49
3.1.2 Excel49
3.1.3 JSON 50
3.1.4 HTML50
3.1.5 剪貼板51
3.1.6 SQL51
3.1.7 小結52
3.2 讀取CSV52
3.2.1 語法52
3.2.2 數據內容53
3.2.3 分隔符53
3.2.4 表頭54
3.2.5 列名54
3.2.6 索引54
3.2.7 使用部分列54
3.2.8 返回序列55
3.2.9 表頭前綴55
3.2.10 處理重復列名55
3.2.11 數據類型55
3.2.12 引擎55
3.2.13 列數據處理56
3.2.14 真假值轉換56
3.2.15 跳過指定行56
3.2.16 讀取指定行57
3.2.17 空值替換57
3.2.18 保留默認空值57
3.2.19 日期時間解析58
3.2.20 文件處理59
3.2.21 符號60
3.2.22 小結61
3.3 讀取Excel61
3.3.1 語法61
3.3.2 文件內容62
3.3.3 表格62
3.3.4 表頭62
3.3.5 列名62
3.3.6 其他62
3.3.7 小結63
3.4 數據輸出63
3.4.1 CSV63
3.4.2 Excel63
3.4.3 HTML64
3.4.4 數據庫(SQL)64
3.4.5 Markdown65
3.4.6 小結65
3.5 本章小結65
第4章 Pandas基礎操作66
4.1 索引操作66
4.1.1 認識索引66
4.1.2 建立索引67
4.1.3 重置索引68
4.1.4 索引類型68
4.1.5 索引對象69
4.1.6 索引的屬性70
4.1.7 索引的操作70
4.1.8 索引重命名72
4.1.9 修改索引內容72
4.1.10 小結73
4.2 數據的信息73
4.2.1 查看樣本73
4.2.2 數據形狀74
4.2.3 基礎信息74
4.2.4 數據類型74
4.2.5 行列索引內容75
4.2.6 其他信息75
4.2.7 小結75
4.3 統計計算76
4.3.1 描述統計76
4.3.2 數學統計77
4.3.3 統計函數78
4.3.4 非統計計算79
4.3.5 小結80
4.4 位置計算80
4.4.1 位置差值diff()80
4.4.2 位置移動shift()81
4.4.3 位置序號rank()81
4.4.4 小結82
4.5 數據選擇82
4.5.1 選擇列83
4.5.2 切片[]83
4.5.3 按軸標簽.loc84
4.5.4 按數字索引.iloc86
4.5.5 取具體值.at/.iat86
4.5.6 獲取數據.get86
4.5.7 數據截取.truncate87
4.5.8 索引選擇器87
4.5.9 小結87
4.6 本章小結88
第5章 Pandas高級操作89
5.1 復雜查詢89
5.1.1 邏輯運算89
5.1.2 邏輯篩選數據91
5.1.3 函數篩選92
5.1.4 比較函數92
5.1.5 查詢df.query()93
5.1.6 篩選df.filter()93
5.1.7 按數據類型查詢93
5.1.8 小結94
5.2 數據類型轉換94
5.2.1 推斷類型94
5.2.2 指定類型95
5.2.3 類型轉換astype()95
5.2.4 轉為時間類型96
5.2.5 小結96
5.3 數據排序96
5.3.1 索引排序97
5.3.2 數值排序98
5.3.3 混合排序100
5.3.4 按值大小排序101
5.3.5 小結101
5.4 添加修改101
5.4.1 修改數值101
5.4.2 替換數據103
5.4.3 填充空值103
5.4.4 修改索引名104
5.4.5 增加列104
5.4.6 插入列df.insert()105
5.4.7 指定列df.assign()106
5.4.8 執行表達式df.eval()108
5.4.9 增加行109
5.4.10 追加合並109
5.4.11 刪除110
5.4.12 刪除空值111
5.4.13 小結111
5.5 高級過濾111
5.5.1 df.where()111
5.5.2 np.where()113
5.5.3 df.mask()115
5.5.4 df.lookup()116
5.5.5 小結116
5.6 數據迭代116
5.6.1 迭代Series116
5.6.2 df.iterrows()117
5.6.3 df.itertuples()117
5.6.4 df.items()118
5.6.5 按列迭代119
5.6.6 小結119
5.7 函數應用120
5.7.1 pipe()120
5.7.2 apply()121
5.7.3 applymap()123
5.7.4 map()124
5.7.5 agg()124
5.7.6 transform()125
5.7.7 copy()126
5.7.8 小結126
5.8 本章小結126
第三部分 數據形式變化
第6章 Pandas分組聚合128
6.1 概述128
6.1.1 原理128
6.1.2 groupby語法129
6.1.3 DataFrame應用分組130
6.1.4 Series應用分組131
6.1.5 小結131
6.2 分組131
6.2.1 分組對象131
6.2.2 按標簽分組132
6.2.3 表達式132
6.2.4 函數分組133
6.2.5 多種方法混合134
6.2.6 用pipe調用分組方法134
6.2.7 分組器Grouper135
6.2.8 索引136
6.2.9 排序136
6.2.10 小結136
6.3 分組對象的操作136
6.3.1 選擇分組137
6.3.2 迭代分組138
6.3.3 選擇列139
6.3.4 應用函數apply()139
6.3.5 管道方法pipe()142
6.3.6 轉換方法transform()142
6.3.7 篩選方法filter()144
6.3.8 其他功能145
6.3.9 小結146
6.4 聚合統計146
6.4.1 描述統計146
6.4.2 統計函數147
6.4.3 聚合方法agg()147
6.4.4 時序重採樣方法resample()149
6.4.5 組內頭尾值150
6.4.6 組內分位數150
6.4.7 組內差值151
6.4.8 小結151
6.5 數據分箱151
6.5.1 定界分箱pd.cut()152
6.5.2 等寬分箱pd.qcut()152
6.5.3 小結154
6.6 分組可視化154
6.6.1 繪圖方法plot()154
6.6.2 直方圖hist()155
6.6.3 箱線圖boxplot()156
6.6.4 小結157
6.7 本章小結158
第7章 Pandas數據合並與對比159
7.1 數據追加df.append159
7.1.1 基本語法159
7.1.2 相同結構160
7.1.3 不同結構161
7.1.4 忽略索引161
7.1.5 重復內容162
7.1.6 追加序列162
7.1.7 追加字典163
7.1.8 小結163
7.2 數據連接pd.concat163
7.2.1 基本語法163
7.2.2 簡單連接164
7.2.3 按列連接164
7.2.4 合並交集165
7.2.5 與序列合並165
7.2.6 指定索引166
7.2.7 多文件合並166
7.2.8 目錄文件合並167
7.2.9 小結167
7.3 數據合並pd.merge167
7.3.1 基本語法168
7.3.2 連接鍵168
7.3.3 索引連接169
7.3.4 多連接鍵169
7.3.5 連接方法170
7.3.6 連接指示170
7.3.7 小結171
7.4 按元素合並171
7.4.1 df.combine_first()171
7.4.2 df.combine()172
7.4.3 df.update()173
7.4.4 小結173
7.5 數據對比df.compare173
7.5.1 簡單對比174
7.5.2 對齊方式174
7.5.3 顯示相同值174
7.5.4 保持形狀175
7.5.5 小結175
7.6 本章小結175
第8章 Pandas多層索引177
8.1 概述177
8.1.1 什麽是多層索引177
8.1.2 通過分組產生多層索引178
8.1.3 由序列創建多層索引179
8.1.4 由元組創建多層索引179
8.1.5 可迭代對象的笛卡兒積180
8.1.6 將DataFrame轉為多層索引對象180
8.1.7 小結180
8.2 多層索引操作181
8.2.1 生成數據181
8.2.2 索引信息181
8.2.3 查看層級182
8.2.4 索引內容182
8.2.5 排序183
8.2.6 其他操作183
8.2.7 小結183
8.3 數據查詢183
8.3.1 查詢行183
8.3.2 查詢列184
8.3.3 行列查詢185
8.3.4 條件查詢185
8.3.5 用pd.IndexSlice索引數據186
8.3.6 df.xs()186
8.3.7 小結186
8.4 本章小結186
第9章 Pandas數據重塑與透視187
9.1 數據透視187
9.1.1 整理透視187
9.1.2 整理透視操作188
9.1.3 聚合透視189
9.1.4 聚合透視操作190
9.1.5 聚合透視高級操作191
9.1.6 小結192
9.2 數據堆疊192
9.2.1 理解堆疊193
9.2.2 堆疊操作df.stack()194
9.2.3 解堆操作df.unstack()195
9.2.4 小結195
9.3 交叉表195
9.3.1 基本語法196
9.3.2 生成交叉表196
9.3.3 歸一化197
9.3.4 指定聚合方法198
9.3.5 匯總198
9.3.6 小結199
9.4 數據轉置df.T199
9.4.1 理解轉置199
9.4.2 轉置操作200
9.4.3 類型變化200
9.4.4 軸交換df.swapaxes()201
9.4.5 小結201
9.5 數據融合201
9.5.1 基本語法201
9.5.2 融合操作202
9.5.3 標識和值203
9.5.4 指定名稱204
9.5.5 小結204
9.6 虛擬變量204
9.6.1 語法結構204
9.6.2 生成虛擬變量205
9.6.3 列前綴205
9.6.4 從DataFrame生成206
9.6.5 小結207
9.7 因子化207
9.7.1 基本方法207
9.7.2 排序208
9.7.3 缺失值208
9.7.4 枚舉類型208
9.7.5 小結208
9.8 爆炸列表208
9.8.1 基本功能209
9.8.2 DataFrame的爆炸209
9.8.3 非列表格式210
9.8.4 小結210
9.9 本章小結210
第四部分 數據清洗
第10章 Pandas數據清洗212
10.1 缺失值的認定212
10.1.1 缺失值類型212
10.1.2 缺失值判斷213
10.1.3 缺失值統計214
10.1.4 缺失值篩選214
10.1.5 NA標量215
10.1.6 時間數據中的缺失值216
10.1.7 整型數據中的缺失值216
10.1.8 插入缺失值217
10.1.9 小結217
10.2 缺失值的操作217
10.2.1 缺失值填充217
10.2.2 插值填充219
10.2.3 缺失值刪除220
10.2.4 缺失值參與計算221
10.2.5 小結223
10.3 數據替換223
10.3.1 指定值替換223
10.3.2 使用替換方式223
10.3.3 字符替換223
10.3.4 缺失值替換224
10.3.5 數字替換224
10.3.6 數據修剪225
10.3.7 小結226
10.4 重復值及刪除數據226
10.4.1 重復值識別226
10.4.2 刪除重復值228
10.4.3 刪除數據229
10.4.4 小結229
10.5 NumPy格式轉換230
10.5.1 轉換方法230
10.5.2 DataFrame轉為ndarray230
10.5.3 Series轉為ndarray231
10.5.4 df.to_records()231
10.5.5 np.array讀取231
10.5.6 小結232
10.6 本章小結232
第11章 Pandas文本處理233
11.1 數據類型233
11.1.1 文本數據類型233
11.1.2 類型轉換234
11.1.3 類型異同234
11.1.4 小結235
11.2 字符的操作235
11.2.1 .str訪問器235
11.2.2 文本格式236
11.2.3 文本對齊236
11.2.4 計數和編碼236
11.2.5 格式判定237
11.2.6 小結237
11.3 文本高級處理237
11.3.1 文本分隔237
11.3.2 字符分隔展開238
11.3.3 文本切片選擇239
11.3.4 文本劃分240
11.3.5 文本替換241
11.3.6 指定替換241
11.3.7 重復替換242
11.3.8 文本連接243
11.3.9 文本查詢244
11.3.10 文本包含245
11.3.11 文本提取246
11.3.12 提取虛擬變量247
11.3.13 小結248
11.4 本章小結248
第12章 Pandas分類數據249
12.1 分類數據249
12.1.1 創建分類數據249
12.1.2 pd.Categorical()251
12.1.3 CategoricalDtype對象251
12.1.4 類型轉換252
12.1.5 小結253
12.2 分類的操作253
12.2.1 修改分類253
12.2.2 追加新分類254
12.2.3 刪除分類254
12.2.4 順序255
12.2.5 小結256
12.3 本章小結256
第五部分 時序數據分析
第13章 Pandas窗口計算258
13.1 窗口計算258
13.1.1 理解窗口計算258
13.1.2 移動窗口259
13.1.3 擴展窗口259
13.1.4 指數加權移動260
13.1.5 小結260
13.2 窗口操作260
13.2.1 計算方法260
13.2.2 基本語法261
13.2.3 移動窗口使用262
13.2.4 統計方法263
13.2.5 agg()264
13.2.6 apply()264
13.2.7 擴展窗口265
13.2.8 小結266
13.3 本章小結266
第14章 Pandas時序數據267
14.1 固定時間267
14.1.1 時間的表示267
14.1.2 創建時間點268
14.1.3 時間的屬性269
14.1.4 時間的方法270
14.1.5 時間缺失值271
14.1.6 小結272
14.2 時長數據272
14.2.1 創建時間差272
14.2.2 時長的加減274
14.2.3 時長的屬性275
14.2.4 時長索引275
14.2.5 小結275
14.3 時間序列275
14.3.1 時序索引275
14.3.2 創建時序數據276
14.3.3 數據訪問277
14.3.4 類型轉換279
14.3.5 按格式轉換281
14.3.6 時間訪問器.dt282
14.3.7 時長數據訪問器284
14.3.8 時序數據移動284
14.3.9 頻率轉換285
14.3.10 小結286
14.4 時間偏移286
14.4.1 DateOffset對象286
14.4.2 偏移別名287
14.4.3 移動偏移289
14.4.4 應用偏移289
14.4.5 偏移參數290
14.4.6 相關查詢290
14.4.7 與時序的計算291
14.4.8 錨定偏移292
14.4.9 自定義工作時間294
14.4.10 小結296
14.5 時間段297
14.5.1 Period對象297
14.5.2 屬性方法297
14.5.3 時間段的計算298
14.5.4 時間段索引299
14.5.5 數據查詢300
14.5.6 相關類型轉換301
14.5.7 小結302
14.6 時間操作302
14.6.1 時區轉換302
14.6.2 時間的格式化303
14.6.3 時間重採樣304
14.6.4 上採樣306
14.6.5 重採樣聚合307
14.6.6 時間類型間轉換307
14.6.7 超出時間戳範圍時間308
14.6.8 區間間隔309
14.6.9 小結311
14.7 本章小結312
第六部分 可視化
第15章 Pandas樣式314
15.1 內置樣式314
15.1.1 樣式功能314
15.1.2 Styler對象315
15.1.3 空值高亮315
15.1.4 極值高亮316
15.1.5 背景漸變317
15.1.6 條形圖318
15.1.7 小結320
15.2 顯示格式320
15.2.1 語法結構320
15.2.2 常用方法320
15.2.3 綜合運用321
15.2.4 小結321
15.3 樣式高級操作322
15.3.1 樣式配置操作322
15.3.2 表格CSS樣式323
15.3.3 應用函數324
15.3.4 樣式復用325
15.3.5 樣式清除325
15.3.6 導出Excel326
15.3.7 生成HTML326
15.3.8 小結327
15.4 本章小結327
第16章 Pandas可視化328
16.1 plot()方法328
16.1.1 plot()概述328
16.1.2 plot()基礎方法329
16.1.3 圖形類型331
16.1.4 x軸和y軸331
16.1.5 圖形標題332
16.1.6 字體大小332
16.1.7 線條樣式333
16.1.8 背景輔助線334
16.1.9 圖例334
16.1.10 圖形大小334
16.1.11 色系335
16.1.12 繪圖引擎336
16.1.13 Matplotlib的其他參數337
16.1.14 圖形疊加337
16.1.15 顏色的表示337
16.1.16 解決圖形中的中文亂碼問題338
16.1.17 小結340
16.2 常用可視化圖形340
16.2.1 折線圖plot.line340
16.2.2 餅圖plot.pie342
16.2.3 柱狀圖plot.bar345
16.2.4 直方圖plot.hist348
16.2.5 箱形圖plot.box351
16.2.6 面積圖plot.area353
16.2.7 散點圖plot.scatter354
16.2.8 六邊形分箱圖plot.hexbin356
16.2.9 小結357
16.3 本章小結357
第七部分 實戰案例
第17章 Pandas實戰案例360
17.1 實戰思想360
17.1.1 鏈式方法360
17.1.2 代碼思路362
17.1.3 分析方法366
17.1.4 分析流程368
17.1.5 分析工具368
17.1.6 小結369
17.2 數據處理案例370
17.2.1 劇組表格道具370
17.2.2 當月最後一個星期三371
17.2.3 同組數據轉為同一行372
17.2.4 相關性最強的兩個變量373
17.2.5 全表最大值的位置375
17.2.6 編寫年會抽獎程序376
17.2.7 北京各區無新增新冠肺炎確診病例天數377
17.2.8 生成SQL378
17.2.9 聖誕節的星期分佈379
17.2.10 試驗三天中恰有兩天下雨的概率381
17.2.11 計算平均打卡上班時間382
17.2.12 小結383
17.3 綜合案例383
17.3.1 中國經濟發展分析383
17.3.2 新冠肺炎疫情分析387
17.3.3 利用爬蟲獲取房價390
17.3.4 全國城市房價分析392
17.3.5 客服對話文本分析396
17.3.6 RFM用戶分層399
17.3.7 自動郵件報表404
17.3.8 鳶尾花品種預測407
17.3.9 小結410
17.4 本章小結410