第1章 準備工作7
1.1 本書內容7
1.2 為什麼使用Python進行數據分析8
1.3 重要的Python庫9
1.4 安裝和設置14
1.5 社區和會議18
1.6 本書導航18
第2章 Python語法基礎、IPython和Jupyter notebook21
2.1 Python解釋器22
2.2 IPython基礎23
2.3 Python語法基礎29
2.4總結47
第3章 Python的數據結構、函數和文件48
3.1 數據結構和序列48
3.2 函數65
3.3 文件和操作繫統76
3.4 總結81
第4章 NumPy基礎:數組和向量化計算82
4.1 NumPy的ndarray:多維數組對像84
4.2 生成偽隨機數101
4.3 通用函數:素級數組函數103
4.4 利用數組進行面向數組編程105
4.5 使用數組進行文件輸入和輸出113
4.6 線性代數114
4.7 示例:隨機漫步115
4.8 總結118
第5章 pandas入門119
5.1 pandas的數據結構介紹120
5.2 基本功能133
5.3 描述性統計的彙總和計算159
5.4 總結167
第6章 數據加載、存儲與文件格式168
6.1 讀寫文本格式的數據168
6.2 二進制數據格式185
6.3 與Web API交互190
6.4 與數據庫交互191
6.5 總結193
第7章 數據清洗和準備194
7.1 處理缺失數據194
7.2 數據轉換200
7.3 擴展數據類型214
7.4 字符串操作216
7.5 分類數據224
7.6 總結233
第8章 數據規整:連接、聯合和重塑234
8.1 層次化索引234
8.2 聯合與合並數據集240
8.3 重塑和透視256
8.4 總結264
第9章 繪圖和可視化265
9.1 matplotlib API入門266
9.2 使用pandas和seaborn繪圖279
9.3 其他Python可視化工具293
9.4 總結294
第10章 數據聚合與分組操作295
10.1 GroupBy機制296
10.2 數據聚合304
10.3 Apply:通用的“拆分-應用-聯合”範式310
10.4 分組轉換和“展開式”GroupBy運算322
10.5 透視表和交叉表326
10.6 總結330
第11章 時間序列331
11.1 日期和時間數據的類型及工具332
11.2 時間序列基礎知識336
11.3 日期的範圍、頻率以及移位341
11.4 時區處理348
11.5 周期及其算術運算353
11.6 重采樣及頻率轉換360
11.7 移動窗口函數369
11.8 總結375
第12章 Python建模庫介紹376
12.1 pandas與模型代碼的接口376
12.2 用Patsy創建模型描述379
12.3 statsmodels介紹385
12.4 scikit-learn介紹390
12.5 總結393
第13章 數據分析案例395
13.1 來自1.USA.gov的Bitly數據395
13.2 MovieLens 1M數據集404
13.3 1880—2010年間全美嬰兒姓名411
13.4 USDA食品數據庫425
13.5 2012年聯邦選舉委員會數據庫431
13.6 總結440
附錄A 高階NumPy441
附錄B 更多關於IPython的內容475