Python實戰之數據分析與處理

Python實戰之數據分析與處理

《Python實戰之數據分析與處理》是2019年11月電子工業出版社出版的圖書,作者是劉宇宙、劉艷。

基本介紹

  • 中文名:Python實戰之數據分析與處理
  • 作者:劉宇宙、劉艷
  • 出版時間:2019年11月
  • 出版社:電子工業出版社
  • 頁數:312 頁
  • ISBN:9787121363474
  • 定價:58 元
  • 開本:16 開
內容簡介,目錄,

內容簡介

本書是為使用Python進行科學計算的新手或剛入門者量身定做的,是作者學習和使用Python進行人工智慧項目研發的體會與經驗總結,涵蓋了實際開發中的基礎知識點,內容詳盡,代碼可讀性及可操作性強。本書主要介紹NumPy、Pandas、Matplotlib的基本操作。本書使用通俗易懂的描述,引入了豐富的示例代碼,同時結合智慧城市中的一些事件,使內容呈現儘可能生動有趣,讓一些原本複雜的處理能夠通過另一種輔助解釋得以簡單化,從而使讀者充分感受學習的樂趣和魅力。本書可供有一定Python基礎但沒有NumPy、Pandas、Matplotlib操作經驗的人員,有Python基礎並且想進一步學習使用Python進行科學計算的人員,有一些Python基礎並且打算入門人工智慧的人員,以及培訓機構、中學及大專院校的學生閱讀。
Python實戰之數據分析與處理
Python實戰之數據分析與處理

目錄

第一部分 數據分析與處理簡介
第1章 數據分析與處理概述 2
1.1 了解大數據 2
1.2 數據分析與處理的需求 4
1.3 數據分析與處理的發展前景 5
第二部分 科學計算之門——NumPy
第2章 NumPy入門 8
2.1 NumPy簡介 8
2.2 NumPy安裝 8
2.3 NumPy——ndarray對象 9
2.4 NumPy數據類型 11
2.4.1 數據類型 11
2.4.2 數據類型對象(dtype) 12
2.5 NumPy數組屬性 16
2.6 NumPy創建數組 19
2.6.1 numpy.empty 19
2.6.2 numpy.zeros 19
2.6.3 numpy.ones 20
2.6.4 numpy.asarray 21
2.6.5 numpy.frombuffer 22
2.6.6 numpy.fromiter 23
2.6.7 numpy.arange 23
2.6.8 numpy.linspace 24
2.6.9 numpy.logspace 26
2.7 NumPy切片和索引 27
2.7.1 切片和索引 27
2.7.2 整數數組索引 29
2.7.3 布爾索引 30
2.7.4 花式索引 31
2.8 NumPy疊代數組 32
2.9 NumPy數組操作 37
2.9.1 修改數字形狀 37
2.9.2 翻轉數組 39
2.9.3 修改數組維度 42
2.9.4 連線數組 45
2.9.5 分割數組 48
2.9.6 數組的添加與刪除 50
2.10 NumPy位運算 55
2.10.1 bitwise_and()函式 55
2.10.2 bitwise_or()函式 55
2.10.3 invert()函式 56
2.10.4 left_shift()函式 56
2.10.5 right_shift()函式 56
2.11 實戰演練 57
第3章 NumPy函式 58
3.1 字元串函式 58
3.1.1 numpy.char.add()函式 58
3.1.2 numpy.char.multiply()函式 59
3.1.3 numpy.char.center()函式 59
3.1.4 numpy.char.capitalize()函式 59
3.1.5 numpy.char.title()函式 59
3.1.6 numpy.char.lower()函式 60
3.1.7 numpy.char.upper()函式 60
3.1.8 numpy.char.split()函式 60
3.1.9 numpy.char.splitlines()函式 61
3.1.10 numpy.char.strip()函式 61
3.1.11 numpy.char.join()函式 61
3.1.12 numpy.char.replace()函式 62
3.1.13 numpy.char.encode()函式 62
3.1.14 numpy.char.decode()函式 62
3.2 數學函式 62
3.2.1 三角函式 62
3.2.2 捨入函式 64
3.2.3 numpy.floor()函式 65
3.2.4 numpy.ceil()函式 65
3.3 算術函式 65
?
3.4 統計函式 67
3.4.1 numpy.amin()函式和numpy.amax()函式 67
3.4.2 numpy.ptp()函式 68
3.4.3 numpy.percentile()函式 68
3.4.4 numpy.median()函式 69
3.4.5 numpy.mean()函式 70
3.4.6 numpy.average()函式 70
3.4.7 標準差 71
3.4.8 方差 72
3.5 排序、搜尋和計數函式 72
3.5.1 numpy.sort()函式 72
3.5.2 numpy.argsort()函式 73
3.5.3 numpy.lexsort()函式 74
3.5.4 numpy.argmax()函式和numpy.argmin()函式 74
3.5.5 numpy.nonzero()函式 75
3.5.6 numpy.where()函式 76
3.5.7 numpy.extract()函式 76
3.5.8 其他排序 77
3.6 位元組交換 78
3.7 副本和視圖 79
3.7.1 無複製 79
3.7.2 視圖 80
3.7.3 副本 81
3.8 矩陣庫 82
3.9 線性代數 85
3.10 NumPy IO 90
3.11 實戰演練 93
第三部分 數據處理法寶——Pandas
第4章 Pandas入門 96
4.1 Pandas簡介 96
4.2 Pandas安裝及數據結構 96
4.3 系列 97
4.3.1 創建空系列 98
4.3.2 由ndarray創建系列 98
4.3.3 由字典創建系列 99
4.3.4 使用標量創建系列 99
4.3.5 從系列中訪問數據 100
4.3.6 使用標籤檢索數據 101
4.4 數據幀 101
4.4.1 創建空數據幀 102
4.4.2 使用列表創建數據幀 102
4.4.3 使用ndarrays/lists的字典創建數據幀 103
4.4.4 使用字典列表創建數據幀 104
4.4.5 使用系列的字典創建數據幀 105
4.4.6 列選擇 105
4.4.7 列添加 106
4.4.8 列刪除 106
4.4.9 行選擇、添加和刪除 107
4.4.10 行切片 108
4.5 面板 109
4.5.1 面板創建 110
4.5.2 數據選擇 110
4.6 基本功能 111
4.6.1 T轉置 112
4.6.2 axes 113
4.6.3 dtypes 113
4.6.4 empty 113
4.6.5 ndim 114
4.6.6 shape 114
4.6.7 size 114
4.6.8 values 115
4.6.9 head()方法與tail()方法 115
4.7.1 sum()函式 116
4.7.2 mean()函式 117
4.7.3 std()函式 118
4.7.4 describe()函式 118
4.8 函式套用 120
4.8.1 表格函式 120
4.8.2 行列合理函式 121
4.8.3 元素合理函式 122
4.9 重建索引 123
4.9.1 重建對象對齊索引 123
4.9.2 填充時重新加注 124
4.9.3 重建索引時的填充限制 124
4.9.4 重命名 125
4.10 疊代 126
4.11 排序 127
4.11.1 按標籤排序 127
4.11.2 排序順序 128
4.11.3 按列排序 129
4.11.4 按值排序 129
4.11.5 排序算法 129
4.12 字元串和文本數據 130
4.12.1 lower()函式 130
4.12.2 upper()函式 130
4.12.3 len()函式 131
4.12.4 strip()函式 131
4.12.5 split()函式 131
4.12.6 cat()函式 132
4.12.7 get_dummies()函式 132
4.12.8 contains()函式 132
4.12.9 replace()函式 133
4.12.10 repeat()函式 133
4.12.11 count()函式 133
4.12.12 startswith()函式 133
4.12.13 endswith()函式 134
4.12.14 find()函式 134
4.12.15 findall()函式 134
4.12.16 swapcase()函式 135
4.12.17 islower()函式 135
4.12.18 isupper()函式 135
4.12.19 isnumeric()函式 136
4.13 選項和自定義 136
4.13.1 get_option()函式 136
4.13.2 set_option()函式 136
4.13.3 reset_option()函式 137
4.13.4 describe_option()函式 137
4.13.5 option_context()函式 138
4.14 選擇和索引數據 138
4.14.1 .loc() 138
4.14.2 .iloc() 139
4.14.3 .ix() 139
4.14.4 使用符號 139
4.14.5 屬性訪問 140
4.15 實戰演練 140
第5章 Pandas進階 141
5.1 統計函式 141
5.1.1 pct_change()函式 141
5.1.2 協方差 142
5.1.3 相關性 143
5.1.4 數據排名 143
5.2 視窗函式 144
5.2.1 .rolling()函式 144
5.2.2 .expanding()函式 145
5.2.3 .ewm()函式 145
5.3 聚合 145
5.3.1 在整個DataFrame上套用聚合 146
5.3.2 在DataFrame的單列上套用聚合 146
5.3.3 在DataFrame的多列上套用聚合 147
5.3.4 在DataFrame的單列上套用多個函式 147
5.3.5 在DataFrame的多列上套用多個函式 148
5.3.6 將不同的函式套用於DataFrame的不同列 148
5.4 缺失數據 149
5.4.1 為什麼會缺失數據 149
5.4.2 檢查缺失值 149
5.4.3 缺失數據的計算 150
5.4.4 缺失數據填充 150
5.4.5 向前和向後填充 150
5.4.6 清除缺失值 151
5.4.7 值替換 151
5.5 分組 151
5.5.1 將數據拆分成組 152
5.5.2 查看分組 152
5.5.3 疊代遍歷分組 153
5.5.4 選擇一個分組 153
5.5.5 聚合 154
5.5.6 使用多個聚合函式 154
5.5.7 轉換 155
5.5.8 過濾 155
5.6 合併/連線 156
5.6.1 合併一個鍵上的兩個數據幀 157
5.6.2 合併多個鍵上的兩個數據幀 157
5.6.3 使用how參數 158
5.7 級聯 159
5.7.1 concat()函式 159
5.7.2 append()函式 161
5.7.3 時間序列 161
5.8 日期功能 162
5.9 時間差 164
5.10 分類數據 165
5.11 稀疏數據 169
5.12 實戰演練 170
第四部分 優雅的藝術——Matplotlib
第6章 Matplotlib 入門 172
6.1 Matplotlib簡介 172
6.2 Matplotlib安裝 173
6.3 Pyplot教程 173
6.3.1 控制線條屬性 176
6.3.2 處理多個圖形和軸域 177
6.3.3 處理文本 178
6.3.4 在文本中使用數學表達式 179
6.3.5 對數和其他非線性軸 180
6.4 使用GridSpec自定義子圖位置 181
6.4.1 subplot2grid 181
6.4.2 GridSpec和SubplotSpec 182
6.4.3 調整GridSpec布局 183
6.4.4 使用SubplotSpec創建GridSpec 184
6.4.5 調整GridSpec布局 185
6.5 布局 186
6.5.1 簡單示例 186
6.5.2 和GridSpec一起使用 190
6.5.3 和AxesGrid1一起使用 193
6.5.4 顏色條 194
6.6 藝術家教程 195
6.6.1 自定義對象 196
6.6.2 圖形容器 197
6.6.3 軸域容器 197
6.6.4 軸容器(Axis) 199
6.6.5 刻度容器 201
6.7 圖例指南 202
6.7.1 控制圖例條目 202
6.7.2 代理藝術家 203
6.7.3 圖例位置 204
6.7.4 同軸域的多個圖例 204
6.7.5 圖例處理器 205
6.7.6 自定義圖例處理器 206
6.8 變換 208
6.8.1 數據坐標 208
6.8.2 混合變換 209
6.8.3 創建陰影效果 210
6.9 路徑 212
6.9.1 貝塞爾示例 213
6.9.2 複合路徑 214
6.9.3 路徑效果 216
6.9.4 添加陰影 217
6.9.5 其他 218
第7章 Matplotlib更多處理 220
7.1 基本文本命令 220
7.2 文本屬性及布局 222
7.3 標註 225
7.3.1 基本標註 225
7.3.2 使用框和文本標註 227
7.3.3 使用箭頭標註 228
7.4 數學表達式 231
7.5 顏色指定 235
7.6 事件處理及拾取 236
7.6.1 事件連線 236
7.6.2 事件屬性 237
7.6.3 可拖曳的矩形 239
7.6.4 滑鼠進入和離開 242
7.6.5 對象拾取 244
7.7 擴展 246
7.7.1 透明度填充 246
7.7.2 透明、花式圖例 247
7.7.3 放置文本框 248
第五部分 項目實戰
第8章 數據載入與資料庫操作 252
8.1 讀寫文本格式的數據 252
8.2 逐塊讀取文本檔案 256
8.3 數據寫入文本 258
8.4 JSON數據處理 260
8.5 二進制數據格式 262
8.6 HDF5數據格式 262
8.7 Pandas運算元據庫 265
第9章 數據分析 273
9.1 數據準備 273
9.2 數據處理 279
9.3 數據可視化 291
附錄A 可用Line2D屬性 294
附錄B 習題參考答案 295,
第一部分 數據分析與處理簡介
第1章 數據分析與處理概述 2
1.1 了解大數據 2
1.2 數據分析與處理的需求 4
1.3 數據分析與處理的發展前景 5
第二部分 科學計算之門——NumPy
第2章 NumPy入門 8
2.1 NumPy簡介 8
2.2 NumPy安裝 8
2.3 NumPy——ndarray對象 9
2.4 NumPy數據類型 11
2.4.1 數據類型 11
2.4.2 數據類型對象(dtype) 12
2.5 NumPy數組屬性 16
2.6 NumPy創建數組 19
2.6.1 numpy.empty 19
2.6.2 numpy.zeros 19
2.6.3 numpy.ones 20
2.6.4 numpy.asarray 21
2.6.5 numpy.frombuffer 22
2.6.6 numpy.fromiter 23
2.6.7 numpy.arange 23
2.6.8 numpy.linspace 24
2.6.9 numpy.logspace 26
2.7 NumPy切片和索引 27
2.7.1 切片和索引 27
2.7.2 整數數組索引 29
2.7.3 布爾索引 30
2.7.4 花式索引 31
2.8 NumPy疊代數組 32
2.9 NumPy數組操作 37
2.9.1 修改數字形狀 37
2.9.2 翻轉數組 39
2.9.3 修改數組維度 42
2.9.4 連線數組 45
2.9.5 分割數組 48
2.9.6 數組的添加與刪除 50
2.10 NumPy位運算 55
2.10.1 bitwise_and()函式 55
2.10.2 bitwise_or()函式 55
2.10.3 invert()函式 56
2.10.4 left_shift()函式 56
2.10.5 right_shift()函式 56
2.11 實戰演練 57
第3章 NumPy函式 58
3.1 字元串函式 58
3.1.1 numpy.char.add()函式 58
3.1.2 numpy.char.multiply()函式 59
3.1.3 numpy.char.center()函式 59
3.1.4 numpy.char.capitalize()函式 59
3.1.5 numpy.char.title()函式 59
3.1.6 numpy.char.lower()函式 60
3.1.7 numpy.char.upper()函式 60
3.1.8 numpy.char.split()函式 60
3.1.9 numpy.char.splitlines()函式 61
3.1.10 numpy.char.strip()函式 61
3.1.11 numpy.char.join()函式 61
3.1.12 numpy.char.replace()函式 62
3.1.13 numpy.char.encode()函式 62
3.1.14 numpy.char.decode()函式 62
3.2 數學函式 62
3.2.1 三角函式 62
3.2.2 捨入函式 64
3.2.3 numpy.floor()函式 65
3.2.4 numpy.ceil()函式 65
3.3 算術函式 65
?
3.4 統計函式 67
3.4.1 numpy.amin()函式和numpy.amax()函式 67
3.4.2 numpy.ptp()函式 68
3.4.3 numpy.percentile()函式 68
3.4.4 numpy.median()函式 69
3.4.5 numpy.mean()函式 70
3.4.6 numpy.average()函式 70
3.4.7 標準差 71
3.4.8 方差 72
3.5 排序、搜尋和計數函式 72
3.5.1 numpy.sort()函式 72
3.5.2 numpy.argsort()函式 73
3.5.3 numpy.lexsort()函式 74
3.5.4 numpy.argmax()函式和numpy.argmin()函式 74
3.5.5 numpy.nonzero()函式 75
3.5.6 numpy.where()函式 76
3.5.7 numpy.extract()函式 76
3.5.8 其他排序 77
3.6 位元組交換 78
3.7 副本和視圖 79
3.7.1 無複製 79
3.7.2 視圖 80
3.7.3 副本 81
3.8 矩陣庫 82
3.9 線性代數 85
3.10 NumPy IO 90
3.11 實戰演練 93
第三部分 數據處理法寶——Pandas
第4章 Pandas入門 96
4.1 Pandas簡介 96
4.2 Pandas安裝及數據結構 96
4.3 系列 97
4.3.1 創建空系列 98
4.3.2 由ndarray創建系列 98
4.3.3 由字典創建系列 99
4.3.4 使用標量創建系列 99
4.3.5 從系列中訪問數據 100
4.3.6 使用標籤檢索數據 101
4.4 數據幀 101
4.4.1 創建空數據幀 102
4.4.2 使用列表創建數據幀 102
4.4.3 使用ndarrays/lists的字典創建數據幀 103
4.4.4 使用字典列表創建數據幀 104
4.4.5 使用系列的字典創建數據幀 105
4.4.6 列選擇 105
4.4.7 列添加 106
4.4.8 列刪除 106
4.4.9 行選擇、添加和刪除 107
4.4.10 行切片 108
4.5 面板 109
4.5.1 面板創建 110
4.5.2 數據選擇 110
4.6 基本功能 111
4.6.1 T轉置 112
4.6.2 axes 113
4.6.3 dtypes 113
4.6.4 empty 113
4.6.5 ndim 114
4.6.6 shape 114
4.6.7 size 114
4.6.8 values 115
4.6.9 head()方法與tail()方法 115
4.7 描述性統計 116
4.7.1 sum()函式 116
4.7.2 mean()函式 117
4.7.3 std()函式 118
4.7.4 describe()函式 118
4.8 函式套用 120
4.8.1 表格函式 120
4.8.2 行列合理函式 121
4.8.3 元素合理函式 122
4.9 重建索引 123
4.9.1 重建對象對齊索引 123
4.9.2 填充時重新加注 124
4.9.3 重建索引時的填充限制 124
4.9.4 重命名 125
4.10 疊代 126
4.11 排序 127
4.11.1 按標籤排序 127
4.11.2 排序順序 128
4.11.3 按列排序 129
4.11.4 按值排序 129
4.11.5 排序算法 129
4.12 字元串和文本數據 130
4.12.1 lower()函式 130
4.12.2 upper()函式 130
4.12.3 len()函式 131
4.12.4 strip()函式 131
4.12.5 split()函式 131
4.12.6 cat()函式 132
4.12.7 get_dummies()函式 132
4.12.8 contains()函式 132
4.12.9 replace()函式 133
4.12.10 repeat()函式 133
4.12.11 count()函式 133
4.12.12 startswith()函式 133
4.12.13 endswith()函式 134
4.12.14 find()函式 134
4.12.15 findall()函式 134
4.12.16 swapcase()函式 135
4.12.17 islower()函式 135
4.12.18 isupper()函式 135
4.12.19 isnumeric()函式 136
4.13 選項和自定義 136
4.13.1 get_option()函式 136
4.13.2 set_option()函式 136
4.13.3 reset_option()函式 137
4.13.4 describe_option()函式 137
4.13.5 option_context()函式 138
4.14 選擇和索引數據 138
4.14.1 .loc() 138
4.14.2 .iloc() 139
4.14.3 .ix() 139
4.14.4 使用符號 139
4.14.5 屬性訪問 140
4.15 實戰演練 140
第5章 Pandas進階 141
5.1 統計函式 141
5.1.1 pct_change()函式 141
5.1.2 協方差 142
5.1.3 相關性 143
5.1.4 數據排名 143
5.2 視窗函式 144
5.2.1 .rolling()函式 144
5.2.2 .expanding()函式 145
5.2.3 .ewm()函式 145
5.3 聚合 145
5.3.1 在整個DataFrame上套用聚合 146
5.3.2 在DataFrame的單列上套用聚合 146
5.3.3 在DataFrame的多列上套用聚合 147
5.3.4 在DataFrame的單列上套用多個函式 147
5.3.5 在DataFrame的多列上套用多個函式 148
5.3.6 將不同的函式套用於DataFrame的不同列 148
5.4 缺失數據 149
5.4.1 為什麼會缺失數據 149
5.4.2 檢查缺失值 149
5.4.3 缺失數據的計算 150
5.4.4 缺失數據填充 150
5.4.5 向前和向後填充 150
5.4.6 清除缺失值 151
5.4.7 值替換 151
5.5 分組 151
5.5.1 將數據拆分成組 152
5.5.2 查看分組 152
5.5.3 疊代遍歷分組 153
5.5.4 選擇一個分組 153
5.5.5 聚合 154
5.5.6 使用多個聚合函式 154
5.5.7 轉換 155
5.5.8 過濾 155
5.6 合併/連線 156
5.6.1 合併一個鍵上的兩個數據幀 157
5.6.2 合併多個鍵上的兩個數據幀 157
5.6.3 使用how參數 158
5.7 級聯 159
5.7.1 concat()函式 159
5.7.2 append()函式 161
5.7.3 時間序列 161
5.8 日期功能 162
5.9 時間差 164
5.10 分類數據 165
5.11 稀疏數據 169
5.12 實戰演練 170
第四部分 優雅的藝術——Matplotlib
第6章 Matplotlib 入門 172
6.1 Matplotlib簡介 172
6.2 Matplotlib安裝 173
6.3 Pyplot教程 173
6.3.1 控制線條屬性 176
6.3.2 處理多個圖形和軸域 177
6.3.3 處理文本 178
6.3.4 在文本中使用數學表達式 179
6.3.5 對數和其他非線性軸 180
6.4 使用GridSpec自定義子圖位置 181
6.4.1 subplot2grid 181
6.4.2 GridSpec和SubplotSpec 182
6.4.3 調整GridSpec布局 183
6.4.4 使用SubplotSpec創建GridSpec 184
6.4.5 調整GridSpec布局 185
6.5 布局 186
6.5.1 簡單示例 186
6.5.2 和GridSpec一起使用 190
6.5.3 和AxesGrid1一起使用 193
6.5.4 顏色條 194
6.6 藝術家教程 195
6.6.1 自定義對象 196
6.6.2 圖形容器 197
6.6.3 軸域容器 197
6.6.4 軸容器(Axis) 199
6.6.5 刻度容器 201
6.7 圖例指南 202
6.7.1 控制圖例條目 202
6.7.2 代理藝術家 203
6.7.3 圖例位置 204
6.7.4 同軸域的多個圖例 204
6.7.5 圖例處理器 205
6.7.6 自定義圖例處理器 206
6.8 變換 208
6.8.1 數據坐標 208
6.8.2 混合變換 209
6.8.3 創建陰影效果 210
6.9 路徑 212
6.9.1 貝塞爾示例 213
6.9.2 複合路徑 214
6.9.3 路徑效果 216
6.9.4 添加陰影 217
6.9.5 其他 218
第7章 Matplotlib更多處理 220
7.1 基本文本命令 220
7.2 文本屬性及布局 222
7.3 標註 225
7.3.1 基本標註 225
7.3.2 使用框和文本標註 227
7.3.3 使用箭頭標註 228
7.4 數學表達式 231
7.5 顏色指定 235
7.6 事件處理及拾取 236
7.6.1 事件連線 236
7.6.2 事件屬性 237
7.6.3 可拖曳的矩形 239
7.6.4 滑鼠進入和離開 242
7.6.5 對象拾取 244
7.7 擴展 246
7.7.1 透明度填充 246
7.7.2 透明、花式圖例 247
7.7.3 放置文本框 248
第五部分 項目實戰
第8章 數據載入與資料庫操作 252
8.1 讀寫文本格式的數據 252
8.2 逐塊讀取文本檔案 256
8.3 數據寫入文本 258
8.4 JSON數據處理 260
8.5 二進制數據格式 262
8.6 HDF5數據格式 262
8.7 Pandas運算元據庫 265
第9章 數據分析 273
9.1 數據準備 273
9.2 數據處理 279
附錄A 可用Line2D屬性 294
附錄B 習題參考答案 295

相關詞條

熱門詞條

聯絡我們