資料簡(jiǎn)介:
本書(shū)由Python pandas項(xiàng)目創(chuàng)始人Wes McKinney親筆撰寫,詳細(xì)介紹利用Python進(jìn)行操作、處理、清洗和規(guī)整數(shù)據(jù)等方面的具體細(xì)節(jié)和基本要點(diǎn)。第2版針對(duì)Python 3.6進(jìn)行全面修訂和更新,涵蓋新版的pandas、NumPy、IPython和Jupyter,并增加大量實(shí)際案例,可以幫助你高效解決一系列數(shù)據(jù)分析問(wèn)題。 第2版中的主要更新包括: ?所有的代碼,包括把Python的教程更新到了Python 3.6版本(*版中使用的是Python 2.7) ?更新了Python第三方發(fā)布版Anaconda和其他所需Python包的安裝指引 ?更新pandas庫(kù)到2017年的新版 ?新增一章,關(guān)于更多高級(jí)pandas工具和一些使用提示 ?新增statsmodels和scikit-learn的簡(jiǎn)明使用介紹
資料目錄:
前言1
*章 準(zhǔn)備工作7
1.1 本書(shū)內(nèi)容7
1.1.1 什么類型的數(shù)據(jù)7
1.2 為何利用Python進(jìn)行數(shù)據(jù)分析8
1.2.1 Python作為膠水8
1.2.2 解決“雙語(yǔ)言”難題8
1.2.3 為何不使用Python9
1.3 重要的Python庫(kù)9
1.3.1 NumPy9
1.3.2 pandas10
1.3.3 matplotlib11
1.3.4 IPython與Jupyter11
1.3.5 SciPy12
1.3.6 scikit-learn12
1.3.7 statsmodels13
1.4 安裝與設(shè)置13
1.4.1 Windows14
1.4.2 Apple(OS X和macOS)14
1.4.3 GNU/Linux14
1.4.4 安裝及更新Python包15
1.4.5 Python 2和Python 316
1.4.6 集成開(kāi)發(fā)環(huán)境和文本編輯器16
1.5 社區(qū)和會(huì)議17
1.6 快速瀏覽本書(shū)17
1.6.1 代碼示例18
1.6.2 示例數(shù)據(jù)18
1.6.3導(dǎo)入約定18
1.6.4術(shù)語(yǔ)19
第2章 Python語(yǔ)言基礎(chǔ)、IPython及Jupyter notebook20
2.1 Python解釋器21
2.2 IPython基礎(chǔ)22
2.2.1 運(yùn)行IPython命令行22
2.2.2 運(yùn)行 Jupyter notebook23
2.2.3 Tab補(bǔ)全25
2.2.4 內(nèi)省27
2.2.5 %run命令28
2.2.6 執(zhí)行剪貼板中的程序30
2.2.7 終端快捷鍵30
2.2.8 關(guān)于魔術(shù)命令31
2.2.9 matplotlib集成33
2.3 Python語(yǔ)言基礎(chǔ)34
2.3.1 語(yǔ)言語(yǔ)義34
2.3.2 標(biāo)量類型42
2.3.3 控制流49
第3章 內(nèi)建數(shù)據(jù)結(jié)構(gòu)、函數(shù)及文件54
3.1 數(shù)據(jù)結(jié)構(gòu)和序列54
3.1.1 元組54
3.1.2 列表57
3.1.3 內(nèi)建序列函數(shù)61
3.1.4 字典64
3.1.5集合67
3.1.6 列表、集合和字典的推導(dǎo)式69
3.2 函數(shù)72
3.2.1 命名空間、作用域和本地函數(shù)72
3.2.2 返回多個(gè)值73
3.2.3 函數(shù)是對(duì)象74
3.2.4 匿名(Lambda)函數(shù)75
3.2.5 柯里化:部分參數(shù)應(yīng)用76
3.2.6 生成器77
3.2.7 錯(cuò)誤和異常處理79
3.3 文件與操作系統(tǒng)82
3.3.1 字節(jié)與Unicode文件85
3.4 本章小結(jié)86
第4章 NumPy基礎(chǔ):數(shù)組與向量化計(jì)算87
4.1 NumPy ndarray:多維數(shù)組對(duì)象89
4.1.1 生成ndarray90
4.1.2 ndarray的數(shù)據(jù)類型92
4.1.3 NumPy數(shù)組算術(shù)94
4.1.4 基礎(chǔ)索引與切片95
4.1.5 布爾索引100
4.1.6 神奇索引103
4.1.7 數(shù)組轉(zhuǎn)置和換軸104
4.2 通用函數(shù):快速的逐元素?cái)?shù)組函數(shù)106
4.3 使用數(shù)組進(jìn)行面向數(shù)組編程109
4.3.1 將條件邏輯作為數(shù)組操作110
4.3.2 數(shù)學(xué)和統(tǒng)計(jì)方法111
4.3.3 布爾值數(shù)組的方法113
4.3.4 排序114
4.3.5 唯&一值與其他集合邏輯115
4.4 使用數(shù)組進(jìn)行文件輸入和輸出115
4.5 線性代數(shù)116
4.6 偽隨機(jī)數(shù)生成118
4.7 示例:隨機(jī)漫步120
4.7.1 一次性模擬多次隨機(jī)漫步121
4.8 本章小結(jié)122
第5章 pandas入門123
5.1 pandas數(shù)據(jù)結(jié)構(gòu)介紹123
5.1.1 Series123
5.1.2 DataFrame128
5.1.3 索引對(duì)象134
5.2 基本功能135
5.2.1 重建索引136
5.2.2 軸向上刪除條目138
5.2.3 索引、選擇與過(guò)濾140
5.2.4 整數(shù)索引144
5.2.5 算術(shù)和數(shù)據(jù)對(duì)齊145
5.2.6 函數(shù)應(yīng)用和映射150
5.2.7 排序和排名152
5.2.8 含有重復(fù)標(biāo)簽的軸索引155
5.3 描述性統(tǒng)計(jì)的概述與計(jì)算157
5.3.1 相關(guān)性和協(xié)方差159
5.3.2 唯&一值、計(jì)數(shù)和成員屬性161
5.4 本章小結(jié)164
第6章 數(shù)據(jù)載入、存儲(chǔ)及文件格式165
6.1 文本格式數(shù)據(jù)的讀寫165
6.1.1 分塊讀入文本文件171
6.1.2 將數(shù)據(jù)寫入文本格式172
6.1.3 使用分隔格式174
6.1.4 JSON數(shù)據(jù)176
6.1.5 XML和HTML:網(wǎng)絡(luò)抓取177
6.2 二進(jìn)制格式180
6.2.1 使用HDF5格式181
6.2.2 讀取Microsoft Excel文件183
6.3 與Web API交互184
6.4 與數(shù)據(jù)庫(kù)交互186
6.5 本章小結(jié)187
第7章 數(shù)據(jù)清洗與準(zhǔn)備188
7.1 處理缺失值188
7.1.1 過(guò)濾缺失值189
7.1.2 補(bǔ)全缺失值191
7.2 數(shù)據(jù)轉(zhuǎn)換194
7.2.1 刪除重復(fù)值194
7.2.2 使用函數(shù)或映射進(jìn)行數(shù)據(jù)轉(zhuǎn)換195
7.2.3 替代值197
7.2.4 重命名軸索引198
7.2.5 離散化和分箱199
7.2.6 檢測(cè)和過(guò)濾異常值202
7.2.7 置換和隨機(jī)抽樣203
7.2.8 計(jì)算指標(biāo)/虛擬變量204
7.3 字符串操作207
7.3.1 字符串對(duì)象方法208
7.3.2 正則表達(dá)式210
7.3.3 pandas中的向量化字符串函數(shù)213
7.4 本章小結(jié)215
第8章 數(shù)據(jù)規(guī)整:連接、聯(lián)合與重塑216
8.1 分層索引216
8.1.1重排序和層級(jí)排序219
8.1.2 按層級(jí)進(jìn)行匯總統(tǒng)計(jì)220
8.1.3 使用DataFrame的列進(jìn)行索引220
8.2 聯(lián)合與合并數(shù)據(jù)集221
8.2.1 數(shù)據(jù)庫(kù)風(fēng)格的DataFrame連接222
8.2.2 根據(jù)索引合并226
8.2.3 沿軸向連接230
8.2.4 聯(lián)合重疊數(shù)據(jù)235
8.3 重塑和透視236
8.3.1 使用多層索引進(jìn)行重塑236
8.3.2 將“長(zhǎng)”透視為“寬”240
8.3.3 將“寬”透視為“長(zhǎng)”242
8.4 本章小結(jié)244
第9章 繪圖與可視化245
9.1 簡(jiǎn)明matplotlib API入門245
9.1.1 圖片與子圖246
9.1.2 顏色、標(biāo)記和線類型250
9.1.3 刻度、標(biāo)簽和圖例252
9.1.4 注釋與子圖加工255
9.1.5 將圖片保存到文件258
9.1.6 matplotlib設(shè)置258
9.2 使用pandas和seaborn繪圖259
9.2.1 折線圖259
9.2.2 柱狀圖262
9.2.3 直方圖和密度圖266
9.2.4 散點(diǎn)圖或點(diǎn)圖269
9.2.5 分面網(wǎng)格和分類數(shù)據(jù)270
9.3 其他Python可視化工具271
9.4 本章小結(jié)272
*0章 數(shù)據(jù)聚合與分組操作274
10.1 GroupBy機(jī)制274
10.1.1 遍歷各分組278
10.1.2 選擇一列或所有列的子集279
10.1.3 使用字典和Series分組280
10.1.4 使用函數(shù)分組281
10.1.5 根據(jù)索引層級(jí)分組282
10.2 數(shù)據(jù)聚合282
10.2.1 逐列及多函數(shù)應(yīng)用284
10.2.2 返回不含行索引的聚合數(shù)據(jù)287
10.3 應(yīng)用:通用拆分-應(yīng)用-聯(lián)合288
10.3.1 壓縮分組鍵290
10.3.2 分位數(shù)與桶分析291
10.3.3 示例:使用指定分組值填充缺失值292
10.3.4 示例:隨機(jī)采樣與排列294
10.3.5 示例:分組加權(quán)平均和相關(guān)性296
10.3.6 示例:逐組線性回歸298
10.4 數(shù)據(jù)透視表與交叉表298
10.4.1 交叉表:crosstab301
10.5 本章小結(jié)302
*1章 時(shí)間序列303
11.1 日期和時(shí)間數(shù)據(jù)的類型及工具303
11.1.1 字符串與datetime互相轉(zhuǎn)換305
11.2 時(shí)間序列基礎(chǔ)307
11.2.1 索引、選擇、子集308
11.2.2 含有重復(fù)索引的時(shí)間序列311
11.3 日期范圍、頻率和移位312
11.3.1 生成日期范圍313
11.3.2 頻率和日期偏置316
11.3.3 移位(前向和后向)日期317
11.4 時(shí)區(qū)處理320
11.4.1 時(shí)區(qū)的本地化和轉(zhuǎn)換320
11.4.2 時(shí)區(qū)感知時(shí)間戳對(duì)象的操作323
11.4.3 不同時(shí)區(qū)間的操作324
11.5 時(shí)間區(qū)間和區(qū)間算術(shù)324
11.5.1 區(qū)間頻率轉(zhuǎn)換326
11.5.2 季度區(qū)間頻率327
11.5.3 將時(shí)間戳轉(zhuǎn)換為區(qū)間(以及逆轉(zhuǎn)換)329
11.5.4 從數(shù)組生成PeriodIndex330
11.6 重新采樣與頻率轉(zhuǎn)換332
11.6.1 向下采樣334
11.6.2 向上采樣與插值336
11.6.3 使用區(qū)間進(jìn)行重新采樣337
11.7 移動(dòng)窗口函數(shù)339
11.7.1 指數(shù)加權(quán)函數(shù)342
11.7.2 二元移動(dòng)窗口函數(shù)343
11.7.3 用戶自定義的移動(dòng)窗口函數(shù)344
11.8 本章小結(jié)344
*2章 高階pandas346
12.1 分類數(shù)據(jù)346
12.1.1 背景和目標(biāo)346
12.1.2 pandas中的Categorical類型348
12.1.3 使用Categorical對(duì)象進(jìn)行計(jì)算350
12.1.4 分類方法352
12.2 高階GroupBy應(yīng)用355
12.2.1 分組轉(zhuǎn)換和“展開(kāi)”GroupBy355
12.2.2 分組的時(shí)間重新采樣359
12.3 方法鏈技術(shù)361
12.3.1 pipe方法362
12.4 本章小結(jié)363
*3章 Python建模庫(kù)介紹364
13.1 pandas與建模代碼的結(jié)合364
13.2 使用Patsy創(chuàng)建模型描述367
13.2.1 Patsy公式中的數(shù)據(jù)轉(zhuǎn)換369
13.2.2 分類數(shù)據(jù)與Patsy371
13.3 statsmodels介紹373
13.3.1 評(píng)估線性模型374
13.3.2 評(píng)估時(shí)間序列處理377
13.4 scikit-learn介紹377
13.5 繼續(xù)你的教育381
*4章 數(shù)據(jù)分析示例382
14.1 從Bitly獲取1.USA.gov數(shù)據(jù)382
14.1.1 純Python時(shí)區(qū)計(jì)數(shù)383
14.1.2 使用pandas進(jìn)行時(shí)區(qū)計(jì)數(shù)385
14.2 MovieLens 1M數(shù)據(jù)集392
14.2.1 測(cè)量評(píng)價(jià)分歧396
14.3 美國(guó)1880~2010年的嬰兒名字397
14.3.1分析名字趨勢(shì)402
14.4 美國(guó)農(nóng)業(yè)&部食品數(shù)據(jù)庫(kù)410
14.5 2012年聯(lián)邦選舉委員會(huì)數(shù)據(jù)庫(kù)416
14.5.1 按職業(yè)和雇主的捐獻(xiàn)統(tǒng)計(jì)419
14.5.2 捐贈(zèng)金額分桶421
14.5.3 按州進(jìn)行捐贈(zèng)統(tǒng)計(jì)423
14.6 本章小結(jié)424
附錄A 高階NumPy425
附錄B 更多IPython系統(tǒng)相關(guān)內(nèi)容457