Python數(shù)據(jù)科學實戰(zhàn)
定 價:69.8 元
- 作者:[俄]尤利·瓦西列夫(Yuli Vasiliev)
- 出版時間:2024/1/1
- ISBN:9787115620675
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:180
- 紙張:
- 版次:01
- 開本:16開
本書主要從實戰(zhàn)角度講述了如何處理、分析和可視化數(shù)據(jù),如何用數(shù)據(jù)建立各種統(tǒng)計學或機器學習模型。本書首先介紹如何使用Python代碼獲取、轉換和分析數(shù)據(jù);接著講述如何使用Python中的數(shù)據(jù)結構和第三方庫;然后展示如何以各種格式加載數(shù)據(jù),如何對數(shù)據(jù)進行分組與匯總,如何創(chuàng)建圖表和可視化數(shù)據(jù);最后討論如何解決實際的問題。
本書適合希望使用Python處理和分析數(shù)據(jù)的開發(fā)人員閱讀,也可供計算機相關專業(yè)的師生參考。
1.實戰(zhàn)經(jīng)驗豐富:本書提供了大量真實案例和項目經(jīng)驗,展示了 Python 在獲取、轉換和分析數(shù)據(jù)方面的功能,幫助讀者深入了解Python數(shù)據(jù)科學的應用場景和實際操作。
2.覆蓋多個領域:本書旨在展示如何充分利用Python實現(xiàn)快速的數(shù)據(jù)處理,不僅涵蓋了數(shù)據(jù)處理、分析和可視化,還涉及統(tǒng)計學和機器學習等多個領域,為讀者提供了一個全面的數(shù)據(jù)科學知識體系。
3.深入淺出:作者通過生動的語言和詳細的解釋,將復雜的數(shù)據(jù)科學概念和算法簡單化,讓讀者輕松上手,快速掌握Python數(shù)據(jù)科學的核心技能。
4.通過本書,你不僅會深入理解 Python 數(shù)據(jù)結構及其強大的第三方庫,還會掌握如何聚合、合并、可視化和分析數(shù)據(jù)等。在企業(yè)管理、市場營銷和金融等領域中,基于Python可以實現(xiàn)快速的數(shù)據(jù)處理。
尤里·瓦西列夫(Yuli Vasiliev)是一名程序員、作家,精通開源開發(fā)、數(shù)據(jù)結構和數(shù)據(jù)庫后端開發(fā)。他是 Natural Language Processing with Python and spaCy一書的作者。
目 錄
第 1章 數(shù)據(jù)的基礎知識 1
1.1 數(shù)據(jù)類別 1
1.1.1 非結構化數(shù)據(jù) 1
1.1.2 結構化數(shù)據(jù) 2
1.1.3 半結構化數(shù)據(jù) 3
1.1.4 時間序列數(shù)據(jù) 4
1.2 數(shù)據(jù)來源 5
1.2.1 API 6
1.2.2 網(wǎng)頁 7
1.2.3 數(shù)據(jù)框 7
1.2.4 文件 8
1.3 數(shù)據(jù)處理流程 8
1.3.1 數(shù)據(jù)獲取 9
1.3.2 數(shù)據(jù)清洗 9
1.3.3 數(shù)據(jù)變換 10
1.3.4 數(shù)據(jù)分析 10
1.3.5 數(shù)據(jù)存儲 11
1.4 Python特有的方式 11
1.5 總結 12
第 2章 Python數(shù)據(jù)結構 13
2.1 列表 13
2.1.1 創(chuàng)建列表 14
2.1.2 使用常見列表對象方法 14
2.1.3 使用切片符號 15
2.1.4 用列表實現(xiàn)隊列 16
2.1.5 用列表實現(xiàn)棧 18
2.1.6 用列表和棧進行自然語言處理 18
2.1.7 使用列表推導式改進算法 20
2.2 元組 24
2.2.1 元組列表 24
2.2.2 不變性 25
2.3 字典 26
2.3.1 字典列表 26
2.3.2 使用setdefault()在字典中添加元素 26
2.3.3 將JSON文件加載到字典中 28
2.4 集合 29
2.4.1 從序列中刪除重復項 29
2.4.2 實現(xiàn)常見集合運算 30
2.5 總結 32
第3章 Python第三方庫 33
3.1 NumPy庫 33
3.1.1 安裝NumPy庫 34
3.1.2 創(chuàng)建NumPy數(shù)組 34
3.1.3 逐點運算 34
3.1.4 使用NumPy統(tǒng)計函數(shù) 35
3.2 pandas庫 36
3.2.1 安裝pandas庫 36
3.2.2 序列 36
3.2.3 數(shù)據(jù)框 39
3.3 scikit-learn庫 47
3.3.1 安裝scikit-learn庫 47
3.3.2 獲得樣本數(shù)據(jù) 48
3.3.3 把樣本數(shù)據(jù)載入數(shù)據(jù)框 48
3.3.4 把數(shù)據(jù)分成訓練數(shù)據(jù)集和測試數(shù)據(jù)集 48
3.3.5 把文本轉化為數(shù)值特征向量 49
3.3.6 訓練和評估模型 50
3.3.7 在新數(shù)據(jù)中做預測 50
3.4 總結 51
第4章 從文件和API訪問數(shù)據(jù) 52
4.1 使用Python函數(shù)open()導入數(shù)據(jù) 52
4.1.1 文本文件 52
4.1.2 表格數(shù)據(jù)文件 54
4.1.3 二進制文件 56
4.2 將數(shù)據(jù)導出到文件 57
4.3 訪問遠程文件和API 58
4.3.1 HTTP請求的工作原理 58
4.3.2 urllib3庫 59
4.3.3 Requests庫 61
4.4 將數(shù)據(jù)移入或移出數(shù)據(jù)框 62
4.4.1 導入嵌套的JSON結構 62
4.4.2 將數(shù)據(jù)框轉換為JSON文檔 63
4.4.3 使用pandas-datareader庫將在線數(shù)據(jù)加載到數(shù)據(jù)框中 65
4.5 總結 66
第5章 使用數(shù)據(jù)庫 67
5.1 關系數(shù)據(jù)庫 67
5.1.1 了解SQL語句 68
5.1.2 MySQL入門 69
5.1.3 定義數(shù)據(jù)庫結構 69
5.1.4 將數(shù)據(jù)插入數(shù)據(jù)庫中 72
5.1.5 查詢數(shù)據(jù)庫數(shù)據(jù) 73
5.1.6 使用數(shù)據(jù)庫分析工具 75
5.2 NoSQL數(shù)據(jù)庫 81
5.2.1 Redis數(shù)據(jù)庫 81
5.2.2 MongoDB數(shù)據(jù)庫 83
5.3 總結 85
第6章 聚合數(shù)據(jù) 86
6.1 要聚合的數(shù)據(jù) 86
6.2 合并數(shù)據(jù)框 88
6.3 分組和聚合數(shù)據(jù) 90
6.3.1 按多索引查看特定值 91
6.3.2 通過切片獲得一系列值 93
6.3.3 多索引多層次切片 93
6.3.4 添加總計 94
6.3.5 添加小計 95
6.4 選擇組中的所有行 96
6.5 總結 97
第7章 合并數(shù)據(jù) 98
7.1 合并Python數(shù)據(jù)結構 98
7.1.1 使用“+”合并列表和元組 98
7.1.2 使用“**”合并字典 100
7.1.3 合并兩個結構的對應行 100
7.1.4 列表的多種合并方式 102
7.2 合并NumPy數(shù)組 104
7.3 合并pandas數(shù)據(jù)結構 106
7.3.1 連接數(shù)據(jù)框 106
7.3.2 合并兩個數(shù)據(jù)框 110
7.4 總結 114
第8章 數(shù)據(jù)可視化 115
8.1 常見可視化形式 115
8.1.1 折線圖 115
8.1.2 柱狀圖 116
8.1.3 餅狀圖 117
8.1.4 直方圖 118
8.2 使用Matplotlib庫繪制圖 118
8.2.1 安裝Matplotlib庫 118
8.2.2 使用matplotlib.pyplot 119
8.2.3 使用Figure和Axes對象 120
8.3 總結 124
第9章 分析空間數(shù)據(jù) 125
9.1 獲取空間數(shù)據(jù) 125
9.1.1 將人可讀的地址轉換為地理坐標 125
9.1.2 獲取移動對象的地理坐標 126
9.2 基于geopy庫和Shapely庫的空間數(shù)據(jù)分析 129
9.2.1 查找最近的對象 129
9.2.2 在特定區(qū)域中查找對象 131
9.2.3 結合兩種方法 133
9.3 結合空間數(shù)據(jù)和非空間數(shù)據(jù) 134
9.3.1 提取非空間屬性 134
9.3.2 合并空間數(shù)據(jù)集和非空間數(shù)據(jù)集 136
9.4 總結 137
第 10章 分析時間序列數(shù)據(jù) 139
10.1 規(guī)則時間序列與不規(guī)則時間序列 139
10.2 常見的時間序列分析技術 141
10.2.1 計算百分比變化 142
10.2.2 滾動窗口計算 143
10.2.3 計算滾動平均值的百分比變化 144
10.3 多元時間序列 144
10.3.1 處理多元時間序列 145
10.3.2 分析變量之間的依賴性 146
10.4 總結 150
第 11章 從數(shù)據(jù)中挖掘信息 151
11.1 關聯(lián)法則 151
11.1.1 支持度 152
11.1.2 置信度 152
11.1.3 提升度 153
11.2 Apriori算法 153
11.2.1 創(chuàng)建交易數(shù)據(jù)集 154
11.2.2 識別頻繁項集 155
11.2.3 生成關聯(lián)規(guī)則 156
11.3 可視化關聯(lián)規(guī)則 157
11.4 從關聯(lián)規(guī)則獲得可操作信息 160
11.4.1 生成推薦信息 160
11.4.2 基于關聯(lián)規(guī)則的折扣規(guī)劃 161
11.5 總結 163
第 12章 數(shù)據(jù)分析的機器學習 164
12.1 為什么選擇機器學習 164
12.2 機器學習的類型 165
12.2.1 有監(jiān)督學習 165
12.2.2 無監(jiān)督學習 166
12.3 機器學習的工作原理 166
12.3.1 訓練數(shù)據(jù) 166
12.3.2 統(tǒng)計模型 167
12.3.3 預測數(shù)據(jù) 167
12.4 情感分析示例:產(chǎn)品評論分類 168
12.4.1 獲取產(chǎn)品評論 168
12.4.2 清理數(shù)據(jù) 169
12.4.3 拆分和轉換數(shù)據(jù) 171
12.4.4 訓練模型 173
12.4.5 評估模型 173
12.5 預測股票走勢 175
12.5.1 獲取數(shù)據(jù) 176
12.5.2 從連續(xù)數(shù)據(jù)中提取特征 177
12.5.3 生成輸出變量 178
12.5.4 訓練和評估模型 179
12.6 總結 180