Python數據分析實戰 Python数据分析实战

【意】內利

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

商品描述

<內容簡介>

Python 簡單易學,擁有豐富的庫,並且具有極強的包容性。本書展示瞭如何利用Python 語言的強大功能,以小的編程代價進行數據的提取、處理和分析,主要內容包括:數據分析和Python 的基本介紹,NumPy 庫,pandas 庫,如何使用pandas 讀寫和提取數據,用matplotlib 庫和scikit-learn 庫分別實現數據可視化和機器學習,以實例演示如何從原始數據獲得信息、D3 庫嵌入和手寫體數字的識別。

<章節目錄>

目錄

致謝
譯者序
第1章數據分析簡介1
1.1數據分析1
1.2數據分析師的知識範疇2
1.2.1計算機科學2
1.2.2數學和統計學3
1.2. 3機器學習和人工智能3
1.2.4數據來源領域3
1.3理解數據的性質4
1.3.1數據到信息的轉變4
1.3.2信息到知識的轉變4
1.3. 3數據的類型4
1.4數據分析過程4
1.4.1問題定義5
1.4.2數據抽取6
1.4.3數據準備6
1.4.4數據探索和可視化7
1.4. 5預測模型7
1.4.6模型評估8
1.4.7部署8
1.5定量和定性數據分析9
1.6開放數據9
1.7 Python和數據分析11
1.8結論11
第2章Python世界簡介12
2.1 Python——編程語言12
2.2 Python——解釋器13
2.2.1 Cython 14
2.2.2 Jython 14
2.2.3 PyPy 14
2.3 Python 2和Python 3 14
2.4安裝Python 15
2.5 Python發行版15
2.5.1 Anaconda 15
2.5.2 Enthought Canopy 16
2.5.3 Python(x,y) 17
2.6使用Python 17
2. 6.1 Python shell 17
2.6.2運行完整的Python程序17
2.6.3使用IDE編寫代碼18
2.6.4跟Python交互18
2.7編寫Python代碼18
2.7.1數學運算18
2.7.2導入新的庫和函數19
2.7.3函數式編程21
2.7.4縮進22
2.8 IPython 23
2.8.1 IPython shell 23
2.8.2 IPython Qt -Console 24
2.9 PyPI倉庫——Python包索引25
2.10多種Python IDE 26
2.10.1 IDLE 26
2.10.2 Spyder 27
2.10.3 Eclipse(pyDev) 27
2.10. 4 Sublime 28
2.10.5 Liclipse 29
2.10.6 NinjaIDE 29
2.10.7 Komodo IDE 29
2.11 SciPy 30
2.11.1 NumPy 30
2.11.2 pandas 30
2.11.3 matplotlib 31
2.12小結31
第3章NumPy庫32
3.1 NumPy簡史32
3.2 NumPy安裝32
3.3 ndarray:NumPy庫的心臟33
3.3.1創建數組34
3.3.2數據類型34
3.3.3 dtype選項35
3.3.4自帶的數組創建方法36
3.4基本操作37
3.4.1算術運算符37
3.4.2矩陣積38
3.4.3自增和自減運算符39
3.4.4通用函數40
3.4.5聚合函數40
3.5索引機制、切片和迭代方法41
3.5.1索引機制41
3.5.2切片操作42
3.5.3數組迭代43
3.6條件和布爾數組45
3.7形狀變換45
3.8數組操作46
3.8.1連接數組46
3.8.2數組切分47
3.9常用概念49
3.9.1對象的副本或視圖49
3.9.2向量化50
3.9.3廣播機制50
3.10結構化數組52
3.11數組數據文件的讀寫53
3.11.1二進製文件的讀寫54
3.11.2讀取文件中的列表形式數據54
3.12小結55
第4章pandas庫簡介56
4.1 pandas:Python數據分析庫56
4.2安裝57
4.2 .1用Anaconda安裝57
4.2.2用PyPI安裝58
4.2.3在Linux系統的安裝方法58
4.2.4用源代碼安裝58
4.2.5 Windows模塊倉庫59
4.3測試pandas是否安裝成功59
4.4開始pandas之旅59
4.5 pandas數據結構簡介60
4.5.1 Series對象60
4.5.2 DataFrame對象66
4.5.3 Index對象72
4.6索引對象的其他功能74
4.6.1更換索引74
4.6.2刪除75
4.6.3算術和數據對齊77
4.7數據結構之間的運算78
4.7.1靈活的算術運算方法78
4.7.2 DataFrame和Series對象之間的運算78
4.8函數應用和映射79
4.8.1操作元素的函數79
4.8.2按行或列執行操作的函數80
4.8. 3統計函數81
4.9排序和排位次81
4.10相關性和協方差84
4.11 NaN數據85
4.11.1為元素賦NaN值85
4.11.2過濾NaN 86
4.11 .3為NaN元素填充其他值86
4.12等級索引和分級87
4.12.1重新調整順序和為層級排序89
4.12.2按層級統計數據89
4.13小結90
第5章pandas:數據讀寫91
5.1 I/O API工具91
5.2 CSV和文本文件92
5.3讀取CSV或文本文件中的數據92
5.3.1用RegExp解析TXT文件94
5.3.2從TXT文件讀取部分數據96
5.3.3往CSV文件寫入數據97
5.4讀寫HTML文件98
5.4.1寫入數據到HTML文件99
5.4.2從HTML文件讀取數據100
5.5從XML讀取數據101
5.6讀寫Microsoft Excel文件103
5.7 JSON數據105
5.8 HDF5格式107
5.9 pickle——Python對象序列化108
5.9.1用cPickle實現Python對象序列化109
5.9.2用pandas實現對象序列化109
5.10對接數據庫110
5.10.1 SQLite3數據讀寫111
5.10.2 PostgreSQL數據讀寫112
5.11 NoSQL數據庫MongoDB數據讀寫114
5.12小結116
第6章深入pandas:數據處理117
6.1數據準備117
6.2拼接122
6.2.1組合124
6.2.2軸向旋轉125
6.2.3刪除127
6.3數據轉換128
6.3.1刪除重複元素128
6.3.2映射129
6.4離散化和麵元劃分132
6.5排序136
6.6字符串處理137
6.6. 1內置的字符串處理方法137
6.6.2正則表達式139
6.7數據聚合140
6.7.1 GroupBy 141
6.7.2實例141
6.7.3等級分組142
6.8組迭代143
6.8.1鍊式轉換144
6.8.2分組函數145
6.9高級數據聚合145
6.10小結148
第7章用matplotlib實現數據可視化149
7.1 matplotlib庫149
7.2安裝150
7.3 IPython和IPython QtConsole 150
7.4 matplotlib架構151
7.4.1 Backend層152
7.4.2 Artist層152
7.4.3 Scripting層(pyplot) 153
7.4.4 pylab和pyplot 153
7.5 pyplot 154
7.5.1生成一幅簡單的交互式圖表154
7.5.2設置圖形的屬性156
7.5.3 matplotlib和NumPy 158
7.6使用kwargs 160
7.7為圖表添加更多元素162
7.7.1添加文本162
7.7.2添加網格165
7.7.3添加圖例166
7.8保存圖表168
7.8.1保存代碼169
7.8.2將會話轉換為HTML文件170
7.8.3將圖表直接保存為圖片171
7.9處理日期值171
7.10圖表類型173
7.11線性圖173
7.12直方圖180
7.13條狀圖181
7 .13.1水平條狀圖183
7.13.2多序列條狀圖184
7.13.3為pandas DataFrame生成多序列條狀圖185
7.13.4多序列堆積條狀圖186
7.13 .5為pandas DataFrame繪製堆積條狀圖189
7.13.6其他條狀圖190
7.14餅圖190
7.15高級圖表193
7.15.1等值線圖193
7.15.2極區圖195
7.16 mplot3d 197
7.16.1 3D曲面197
7.16.2 3D散點圖198
7.16.3 3D條狀圖199
7.17多面板圖形200
7.17.1在其他子圖中顯示子圖200
7.17.2子圖網格202
7.18小結204
第8章用scikit-learn庫實現機器學習205
8.1 scikit-learn庫205
8.2機器學習205
8.2 .1有監督和無監督學習205
8.2.2訓練集和測試集206
8.3用scikit-learn實現有監督學習206
8.4 Iris數據集206
8.5 K-近鄰分類器211
8. 6 Diabetes數據集214
8.7線性回歸:最小平方回歸215
8.8支持向量機219
8.8.1支持向量分類219
8.8.2非線性SVC 223
8.8.3繪製SVM分類器對Iris數據集的分類效果圖225
8.8.4支持向量回歸227
8.9小結229
第9章數據分析實例——氣象數據230
9.1待檢驗的假設:靠海對氣候的影響230
9. 2數據源233
9.3用IPython Notebook做數據分析234
9.4風向頻率玫瑰圖246
9.5小結251
第10章IPython Notebook內嵌JavaScript庫D3 252
10.1開放的人口數據源252
10.2 JavaScript庫D3 255
10.3繪製簇狀條狀圖259
10.4地區分佈圖262
10.5 2014年美國人口地區分佈圖266
10.6小結270
第11章識別手寫體數字271
11.1手寫體識別271
11.2用scikit-learn識別手寫體數字271
11.3 Digits數據集272
11.4學習和預測274
11.5小結276
附錄A用LaTeX編寫數學表達式277
附錄B開放數據源287