Python數(shù)據(jù)科學手冊(中文版)pdf 電子書免費下載

![封面](https://img-blog.csdnimg.cn/20210415192236537.png)

## 簡介

> 本書是對以數(shù)據(jù)深度需求為中心的科學、研究以及針對計算和統(tǒng)計方法的參考書。本書共五章酷窥,每章介紹一到兩個Python數(shù)據(jù)科學中的重點工具包叨叙。首先從IPython和Jupyter開始冻押,它們提供了數(shù)據(jù)科學家需要的計算環(huán)境诡壁;第2章講解能提供ndarray對象的NumPy颠区,它可以用Python高效地存儲和操作大型數(shù)組;第3章主要涉及提供DataFrame對象的Pandas玷或,它可以用Python高效地存儲和操作帶標簽的/列式數(shù)據(jù)儡首;第4章的主角是Matplotlib,它為Python提供了許多數(shù)據(jù)可視化功能偏友;第5章以Scikit-Learn為主蔬胯,這個程序庫為最重要的機器學習算法提供了高效整潔的Python版實現(xiàn)提针。

本書適合有編程背景羽峰,并打算將開源Python工具用作分析、操作唆姐、可視化以及學習數(shù)據(jù)的數(shù)據(jù)科學研究人員鹅髓。

## 資源

![資源文件](https://img-blog.csdnimg.cn/20210415192527616.png)

> 鏈接:https://pan.baidu.com/s/1xp8jgBbHK3b3yiueQPli7w

提取碼:(關注微信公眾號:可以叫我才哥舞竿,回復 “**資料**”免費獲取)

## 目錄

>? 目錄? · · · · · ·

譯者序 xiii

前言 xv

第1 章 IPython:超越Python 1

1.1 shell還是Notebook 1

1.1.1 啟動IPython shell 2

1.1.2 啟動Jupyter Notebook 2

1.2 IPython的幫助和文檔 3

1.2.1 用符號? 獲取文檔 3

1.2.2 通過符號?? 獲取源代碼 4

1.2.3 用Tab補全的方式探索模塊 5

1.3 IPython shell中的快捷鍵 7

1.3.1 導航快捷鍵 7

1.3.2 文本輸入快捷鍵 7

1.3.3 命令歷史快捷鍵 8

1.3.4 其他快捷鍵 9

1.4 IPython魔法命令 9

1.4.1 粘貼代碼塊:%paste和%cpaste 9

1.4.2 執(zhí)行外部代碼:%run 10

1.4.3 計算代碼運行時間:%timeit 11

1.4.4 魔法函數(shù)的幫助:?窿冯、%magic 和%lsmagic 11

1.5 輸入和輸出歷史 12

1.5.1 IPython的輸入和輸出對象 12

1.5.2 下劃線快捷鍵和以前的輸出 13

1.5.3 禁止輸出 13

1.5.4 相關的魔法命令 13

1.6 IPython和shell命令 14

1.6.1 shell快速入門 14

1.6.2 IPython中的shell命令 15

1.6.3 在shell中傳入或傳出值 15

1.7 與shell相關的魔法命令 16

1.8 錯誤和調(diào)試 17

1.8.1 控制異常:%xmode 17

1.8.2 調(diào)試:當閱讀軌跡追溯不足以解決問題時 19

1.9 代碼的分析和計時 21

1.9.1 代碼段計時:%timeit和%time 22

1.9.2 分析整個腳本:%prun 23

1.9.3 用%lprun進行逐行分析 24

1.9.4 用%memit和%mprun進行內(nèi)存分析 25

1.10 IPython參考資料 26

1.10.1 網(wǎng)絡資源 26

1.10.2 相關圖書 27

第2 章 NumPy入門 28

2.1 理解Python中的數(shù)據(jù)類型 29

2.1.1 Python整型不僅僅是一個整型 30

2.1.2 Python列表不僅僅是一個列表 31

2.1.3 Python中的固定類型數(shù)組 32

2.1.4 從Python列表創(chuàng)建數(shù)組 32

2.1.5 從頭創(chuàng)建數(shù)組 33

2.1.6 NumPy標準數(shù)據(jù)類型 34

2.2 NumPy數(shù)組基礎 35

2.2.1 NumPy數(shù)組的屬性 36

2.2.2 數(shù)組索引:獲取單個元素 37

2.2.3 數(shù)組切片:獲取子數(shù)組 38

2.2.4 數(shù)組的變形 41

2.2.5 數(shù)組拼接和分裂 42

2.3 NumPy數(shù)組的計算:通用函數(shù) 44

2.3.1 緩慢的循環(huán) 44

2.3.2 通用函數(shù)介紹 45

2.3.3 探索NumPy的通用函數(shù) 46

2.3.4 高級的通用函數(shù)特性 49

2.3.5 通用函數(shù):更多的信息 51

2.4 聚合:最小值炬灭、最大值和其他值 51

2.4.1 數(shù)組值求和 51

2.4.2 最小值和最大值 52

2.4.3 示例:美國總統(tǒng)的身高是多少 54

2.5 數(shù)組的計算:廣播 55

2.5.1 廣播的介紹 55

2.5.2 廣播的規(guī)則 57

2.5.3 廣播的實際應用 60

2.6 比較、掩碼和布爾邏輯 61

2.6.1 示例:統(tǒng)計下雨天數(shù) 61

2.6.2 和通用函數(shù)類似的比較操作 62

2.6.3 操作布爾數(shù)組 64

2.6.4 將布爾數(shù)組作為掩碼 66

2.7 花哨的索引 69

2.7.1 探索花哨的索引 69

2.7.2 組合索引 70

2.7.3 示例:選擇隨機點 71

2.7.4 用花哨的索引修改值 72

2.7.5 示例:數(shù)據(jù)區(qū)間劃分 73

2.8 數(shù)組的排序 75

2.8.1 NumPy中的快速排序:np.sort和np.argsort 76

2.8.2 部分排序:分隔 77

2.8.3 示例:K個最近鄰 78

2.9 結構化數(shù)據(jù):NumPy的結構化數(shù)組 81

2.9.1 生成結構化數(shù)組 83

2.9.2 更高級的復合類型 84

2.9.3 記錄數(shù)組:結構化數(shù)組的扭轉 84

2.9.4 關于Pandas 85

第3 章 Pandas數(shù)據(jù)處理 86

3.1 安裝并使用Pandas 86

3.2 Pandas對象簡介 87

3.2.1 Pandas的Series對象 87

3.2.2 Pandas的DataFrame對象 90

3.2.3 Pandas的Index對象 93

3.3 數(shù)據(jù)取值與選擇 95

3.3.1 Series數(shù)據(jù)選擇方法 95

3.3.2 DataFrame數(shù)據(jù)選擇方法 98

3.4 Pandas數(shù)值運算方法 102

3.4.1 通用函數(shù):保留索引 102

3.4.2 通用函數(shù):索引對齊 103

3.4.3 通用函數(shù):DataFrame與Series的運算 105

3.5 處理缺失值 106

3.5.1 選擇處理缺失值的方法 106

3.5.2 Pandas的缺失值 107

3.5.3 處理缺失值 110

3.6 層級索引 113

3.6.1 多級索引Series 113

3.6.2 多級索引的創(chuàng)建方法 116

3.6.3 多級索引的取值與切片 119

3.6.4 多級索引行列轉換 121

3.6.5 多級索引的數(shù)據(jù)累計方法 124

3.7 合并數(shù)據(jù)集:Concat與Append操作 125

3.7.1 知識回顧:NumPy數(shù)組的合并 126

3.7.2 通過pd.concat實現(xiàn)簡易合并 126

3.8 合并數(shù)據(jù)集:合并與連接 129

3.8.1 關系代數(shù) 129

3.8.2 數(shù)據(jù)連接的類型 130

3.8.3 設置數(shù)據(jù)合并的鍵 132

3.8.4 設置數(shù)據(jù)連接的集合操作規(guī)則 134

3.8.5 重復列名:suffixes參數(shù) 135

3.8.6 案例:美國各州的統(tǒng)計數(shù)據(jù) 136

3.9 累計與分組 140

3.9.1 行星數(shù)據(jù) 140

3.9.2 Pandas的簡單累計功能 141

3.9.3 GroupBy:分割靡菇、應用和組合 142

3.10 數(shù)據(jù)透視表 150

3.10.1 演示數(shù)據(jù)透視表 150

3.10.2 手工制作數(shù)據(jù)透視表 151

3.10.3 數(shù)據(jù)透視表語法 151

3.10.4 案例:美國人的生日 153

3.11 向量化字符串操作 157

3.11.1 Pandas字符串操作簡介 157

3.11.2 Pandas字符串方法列表 159

3.11.3 案例:食譜數(shù)據(jù)庫 163

3.12 處理時間序列 166

3.12.1 Python的日期與時間工具 166

3.12.2 Pandas時間序列:用時間作索引 169

3.12.3 Pandas時間序列數(shù)據(jù)結構 170

3.12.4 時間頻率與偏移量 172

3.12.5 重新取樣重归、遷移和窗口 173

3.12.6 更多學習資料 178

3.12.7 案例:美國西雅圖自行車統(tǒng)計數(shù)據(jù)的可視化 179

3.13 高性能Pandas:eval()與query() 184

3.13.1 query()與eval()的設計動機:復合代數(shù)式 184

3.13.2 用pandas.eval()實現(xiàn)高性能運算 185

3.13.3 用DataFrame.eval()實現(xiàn)列間運算 187

3.13.4 DataFrame.query()方法 188

3.13.5 性能決定使用時機 189

3.14 參考資料 189

第4 章 Matplotlib數(shù)據(jù)可視化 191

4.1 Matplotlib常用技巧 192

4.1.1 導入Matplotlib 192

4.1.2 設置繪圖樣式 192

4.1.3 用不用show()?如何顯示圖形 192

4.1.4 將圖形保存為文件 194

4.2 兩種畫圖接口 195

4.2.1 MATLAB風格接口 195

4.2.2 面向?qū)ο蠼涌?196

4.3 簡易線形圖 197

4.3.1 調(diào)整圖形:線條的顏色與風格 199

4.3.2 調(diào)整圖形:坐標軸上下限 200

4.3.3 設置圖形標簽 203

4.4 簡易散點圖 204

4.4.1 用plt.plot畫散點圖 205

4.4.2 用plt.scatter畫散點圖 206

4.4.3 plot與scatter:效率對比 208

4.5 可視化異常處理 208

4.5.1 基本誤差線 209

4.5.2 連續(xù)誤差 210

4.6 密度圖與等高線圖 211

4.7 頻次直方圖厦凤、數(shù)據(jù)區(qū)間劃分和分布密度 215

4.8 配置圖例 219

4.8.1 選擇圖例顯示的元素 221

4.8.2 在圖例中顯示不同尺寸的點 222

4.8.3 同時顯示多個圖例 223

4.9 配置顏色條 224

4.9.1 配置顏色條 224

4.9.2 案例:手寫數(shù)字 228

4.10 多子圖 230

4.10.1 plt.axes:手動創(chuàng)建子圖 230

4.10.2 plt.subplot:簡易網(wǎng)格子圖 231

4.10.3 plt.subplots:用一行代碼創(chuàng)建網(wǎng)格 233

4.10.4 plt.GridSpec:實現(xiàn)更復雜的排列方式 234

4.11 文字與注釋 235

4.11.1 案例:節(jié)假日對美國出生率的影響 236

4.11.2 坐標變換與文字位置 237

4.11.3 箭頭與注釋 239

4.12 自定義坐標軸刻度 241

4.12.1 主要刻度與次要刻度 242

4.12.2 隱藏刻度與標簽 243

4.12.3 增減刻度數(shù)量 244

4.12.4 花哨的刻度格式 245

4.12.5 格式生成器與定位器小結 247

4.13 Matplotlib自定義:配置文件與樣式表 248

4.13.1 手動配置圖形 248

4.13.2 修改默認配置:rcParams 249

4.13.3 樣式表 251

4.14 用Matplotlib畫三維圖 255

4.14.1 三維數(shù)據(jù)點與線 256

4.14.2 三維等高線圖 256

4.14.3 線框圖和曲面圖 258

4.14.4 曲面三角剖分 259

4.15 用Basemap可視化地理數(shù)據(jù) 261

4.15.1 地圖投影 263

4.15.2 畫一個地圖背景 267

4.15.3 在地圖上畫數(shù)據(jù) 269

4.15.4 案例:美國加州城市數(shù)據(jù) 270

4.15.5 案例:地表溫度數(shù)據(jù) 271

4.16 用Seaborn做數(shù)據(jù)可視化 273

4.16.1 Seaborn與Matplotlib 274

4.16.2 Seaborn圖形介紹 275

4.16.3 案例:探索馬拉松比賽成績數(shù)據(jù) 283

4.17 參考資料 290

4.17.1 Matplotlib資源 290

4.17.2 其他Python畫圖程序庫 290

第5 章 機器學習 291

5.1 什么是機器學習 291

5.1.1 機器學習的分類 292

5.1.2 機器學習應用的定性示例 292

5.1.3 小結 299

5.2 Scikit-Learn簡介 300

5.2.1 Scikit-Learn的數(shù)據(jù)表示 300

5.2.2 Scikit-Learn的評估器API 302

5.2.3 應用:手寫數(shù)字探索 309

5.2.4 小結 313

5.3 超參數(shù)與模型驗證 313

5.3.1 什么是模型驗證 314

5.3.2 選擇最優(yōu)模型 317

5.3.3 學習曲線 322

5.3.4 驗證實踐:網(wǎng)格搜索 326

5.3.5 小結 327

5.4 特征工程 327

5.4.1 分類特征 327

5.4.2 文本特征 329

5.4.3 圖像特征 330

5.4.4 衍生特征 330

5.4.5 缺失值填充 332

5.4.6 特征管道 332

5.5 專題:樸素貝葉斯分類 333

5.5.1 貝葉斯分類 333

5.5.2 高斯樸素貝葉斯 334

5.5.3 多項式樸素貝葉斯 336

5.5.4 樸素貝葉斯的應用場景 339

5.6 專題:線性回歸 340

5.6.1 簡單線性回歸 340

5.6.2 基函數(shù)回歸 342

5.6.3 正則化 346

5.6.4 案例:預測自行車流量 349

5.7 專題:支持向量機 353

5.7.1 支持向量機的由來 354

5.7.2 支持向量機:邊界最大化 355

5.7.3 案例:人臉識別 363

5.7.4 支持向量機總結 366

5.8 專題:決策樹與隨機森林 367

5.8.1 隨機森林的誘因:決策樹 367

5.8.2 評估器集成算法:隨機森林 371

5.8.3 隨機森林回歸 373

5.8.4 案例:用隨機森林識別手寫數(shù)字 374

5.8.5 隨機森林總結 376

5.9 專題:主成分分析 376

5.9.1 主成分分析簡介 377

5.9.2 用PCA作噪音過濾 383

5.9.3 案例:特征臉 385

5.9.4 主成分分析總結 387

5.10 專題:流形學習 388

5.10.1 流形學習:“HELLO” 388

5.10.2 多維標度法(MDS) 389

5.10.3 將MDS用于流形學習 391

5.10.4 非線性嵌入:當MDS失敗時 393

5.10.5 非線性流形:局部線性嵌入 395

5.10.6 關于流形方法的一些思考 396

5.10.7 示例:用Isomap 處理人臉數(shù)據(jù) 397

5.10.8 示例:手寫數(shù)字的可視化結構 400

5.11 專題:k-means聚類 402

5.11.1 k-means簡介 403

5.11.2 k-means算法:期望最大化 404

5.11.3 案例 409

5.12 專題:高斯混合模型 415

5.12.1 高斯混合模型(GMM)為什么會出現(xiàn):k-means算法

的缺陷 415

5.12.2 一般化E-M:高斯混合模型 417

5.12.3 將GMM用作密度估計 421

5.12.4 示例:用GMM生成新的數(shù)據(jù) 425

5.13 專題:核密度估計 427

5.13.1 KDE的由來:直方圖 428

5.13.2 核密度估計的實際應用 431

5.13.3 示例:球形空間的KDE 433

5.13.4 示例:不是很樸素的貝葉斯 436

5.14 應用:人臉識別管道 439

5.14.1 HOG特征 440

5.14.2 HOG實戰(zhàn):簡單人臉識別器 441

5.14.3 注意事項與改進方案 445

5.15 機器學習參考資料 446

5.15.1 Python中的機器學習 446

5.15.2 通用機器學習資源 447

關于作者 448

關于封面 448

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鼻吮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子较鼓,更是在濱河造成了極大的恐慌椎木,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件香椎,死亡現(xiàn)場離奇詭異漱竖,居然都是意外死亡,警方通過查閱死者的電腦和手機畜伐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門馍惹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人玛界,你說我怎么就攤上這事万矾。” “怎么了慎框?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵良狈,是天一觀的道長。 經(jīng)常有香客問我笨枯,道長薪丁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任馅精,我火速辦了婚禮窥突,結果婚禮上,老公的妹妹穿的比我還像新娘硫嘶。我一直安慰自己,他們只是感情好梧税,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布沦疾。 她就那樣靜靜地躺著,像睡著了一般第队。 火紅的嫁衣襯著肌膚如雪哮塞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天凳谦,我揣著相機與錄音忆畅,去河邊找鬼。 笑死尸执,一個胖子當著我的面吹牛家凯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播如失,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼绊诲,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了褪贵?” 一聲冷哼從身側響起掂之,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤抗俄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后世舰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體动雹,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年跟压,在試婚紗的時候發(fā)現(xiàn)自己被綠了胰蝠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡裆馒,死狀恐怖姊氓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情喷好,我是刑警寧澤翔横,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站梗搅,受9級特大地震影響禾唁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜无切,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一荡短、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧哆键,春花似錦掘托、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至辱士,卻和暖如春泪掀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背颂碘。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工异赫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人头岔。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓塔拳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親峡竣。 傳聞我的和親對象是個殘疾皇子蝙斜,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容